(57)【特許請求の範囲】
【請求項１】
クライアント機側アプリケーションソフトウエアで生成された送信データを、インターネットを介してサーバ機側アプリケーションソフトウエアに送信するデータ通信方法であって、
上記クライアント機に、上記アプリケーションソフトウエアと同一のオペレーションシステムで作動するクライアント機側代理サーバと、上記クライアント機のネットワークインターフェース層で作動するフィルタドライバとを設ける一方、
上記サーバ機側に、上記サーバ機側アプリケーションソフトウエアと異なるオペレーションシステムで作動するサーバ機側代理サーバ機を設け、
上記送信データを通信プロトコル処理した後、上記フィルタドライバによって上記クライアント機側代理サーバに向けて戻し転送する送信データループバック行程と、
上記クライアント機側代理サーバに受信した上記送信データに所定の加工を施して加工送信データを生成する加工送信データ生成行程と、
上記加工送信データを、所定のポート及びネットワークインターフェースを介して、上記クライアント機側代理サーバから、上記サーバ機側代理サーバ機に向けて送信する加工送信データ送信行程と、
上記サーバ機側代理サーバ機で受信した加工送信データを、上記クライアント機側代理サーバに受信した送信データに復元するデータ復元行程と、
復元した上記送信データを、上記代理サーバ機から上記サーバ機側アプリケーションソフトウエアに向けて転送する復元送信データ転送行程とを含み、
上記送信データループバック行程は、
上記フィルタドライバのヘッダ解析機能を用いて、上記通信プロトコル処理された送信データが、上記クライアント機側アプリケーションソフトウエアから上記サーバ機側アプリケーションソフトウエアに向けたものであるかどうかを検出するヘッダ解析行程と、
上記送信データが上記クライアント機側アプリケーションソフトウエアからサーバ機側アプリケーションソフトウエアに向けたものである場合に、上記フィルタドライバの変換テーブル生成機能を用いて、上記送信データのヘッダから送信元及び送信先データを注出して構成されるヘッダ変換テーブルを、クライアント機側メモリ領域に生成する変換テーブル生成行程と、
上記フイルタドライバのヘッダ書換え機能を用いて、上記送信データのヘッダを、上記サーバ機側アプリケーションソフトウエアから上記クライアント機側代理サーバに向かうかのように書換えるヘッダ書換え行程と、
上記ヘッダを書き換えた送信データを、上記クライアント機側代理サーバに戻し送信する戻し転送行程とを含む、データ通信方法。
【請求項２】
上記データ加工行程は、圧縮処理行程又は／及びセキュリティ処理行程を含む、請求項１に記載のデータ通信方法。
【請求項３】
請求項１又は請求項２に記載したデータ通信方法であって、
上記サーバ機側アプリケーションソフトウエアが、受信した上記送信データに基づいて応答データを生成する応答データ生成行程と、
上記応答データをサーバ機側代理サーバに機に向けて転送する応答データ転送行程と、
上記サーバ機側代理サーバ機に受信した上記応答データに所定の加工を施して加工応答データを生成する加工応答データ生成行程と、
上記加工応答データを、上記サーバ機側代理サーバ機のネットワークインターフェースを介して、上記クライアント機側代理サーバに向けて送信する加工応答データ送信行程と、
上記クライアント機側代理サーバが、上記加工応答データを所定のポートを介して受信する加工応答データ受信行程と、
上記クライアント機側代理サーバに受信した加工応答データを、上記サーバ機側代理サーバ機に受信した応答データに復元する応答データ復元行程と、
上記復元応答データを、上記サーバ機側アプリケーションソフトウエアに向かうように通信プロトコル処理した後、上記フィルタドライバによって上記クライアント機側アプリケーションソフトウエアに戻し転送する応答データループバック行程と、
上記クライアント機側アプリケーションソフトウエアが、上記応答データを受信する応答データ受信行程とを含む、データ通信方法。
【請求項４】
上記応答データループバック行程は、
上記フィルタドライバのヘッダ解析機能を用いて、通信プロトコル処理された上記応答データが、上記クライアント機側代理サーバから上記サーバ機側アプリケーションソフトウエアに向けたものであるかどうかを検出するヘッダ解析行程と、
上記応答データが上記クライアント機側代理サーバから上記サーバ機側アプリケーションソフトウエアに向けたものである場合に、上記変換テーブルに基づいて、上記フィルタドライバのヘッダ書換え機能を用いて、上記応答データのヘッダを、上記サーバ機側アプリケーションソフトウエアから上記クライアント機側アプリケーションソフトウエアに向かうようように書換える返信ヘッダ書換え行程と、
上記ヘッダを書き換えた応答データを、上記クライアント機側アプリケーションソフトウエアに戻し転送する応答データ戻し転送行程とを含む、請求項３に記載のデータ通信方法。
【請求項５】
上記変換テーブル生成行程は、送信データあるいは応答データのヘッダから、送信元マックアドレス、送信元ＩＰアドレス、送信元ポート番号、送信先マックアドレス、送信先ＩＰアドレス及び送信先ポート番号を注出して上記変換テーブルを生成する、請求項１から請求項４のいずれかに記載のデータ通信方法。
【請求項６】
少なくとも、上記クライアント機側代理サーバと上記フィルタドライバとの間では、特定のポートを用いてデータの通信を行うように設定した請求項１から請求項５のいずれかに記載のデータ通信方法。
【請求項７】
クライアント機で生成された送信データを、インターネット及びサーバ機側に設けたサーバ機側代理サーバ機を介してサーバ機に送信するデータ通信システムであって、
上記クライアント機は、
演算装置と、記憶装置と、上記ネットワークに対してデータを入出力できるデータ入出力装置とを備えるとともに、
上記サーバ機側のアプリケーションソフトウエアに対する送信データを生成できるクライアント機側アプリケーションソフトウエアと、
上記アプリケーションソフトウエアプログラムと同一のオペレーションシステムで作動し、データに対して所定の加工を行うことのできるクライアント機側代理サーバソフトウエアと、
上記ネットワークに対してデータを送受信できる通信プログラムと、
上記クライアント機のネットワークインターフェース層で作動するとともに、所定の条件を満たすヘッダの付された通信データを検出して、上記ヘッダを変更することにより転送先を変更できるフィルタドライバとを備え、
上記サーバ機側代理サーバ機は、
演算装置と、記憶装置と、上記ネットワークに対してデータを入出力できるデータ入出力装置とを備えるとともに、
受信したデータに所定の加工を施すことのできるデータ加工手段を含むサーバソフトウエアと、
上記各ネットワークに対してデータを送受信できる通信手段とを備え、
上記サーバ機は、
演算装置と、記憶装置と、上記ネットワークに対してデータを入出力できるデータ入出力装置とを備えるとともに、
上記クライアント機側アプリケーションソフトウエアプログラムから受信したデータに基づいて、データ処理を行い返答データを生成できるサーバ機側アプリケーションソフトウエアと、
上記代理サーバ機に対してデータの送受信を行う通信手段とを備え、
上記フィルタドライバは、
上記データ入出力装置を通過しようとするデータのパケットヘッダを解析して所定の条件を満たすデータを検出できるヘッダ解析機能と、
上記所定の条件を満たすデータの送信元データ及び送信先データを注出して、クライアント機側のメモリ領域に、上記送信元データ及び上記送信先データから構成されるヘッダ変換テーブルを生成できる変換テーブル生成機能と、
上記変換テーブル及びあらかじめ設定された変換テーブルに基づいて、上記データのヘッダを書き換えて送信先を変更する送信先変更機能とを備え、
上記ヘッダ解析機能によって、上記クライアント機側アプリケーションソフトウエアで生成されて上記サーバ機側アプリケーションソフトウエアに向かうデータが検出され、
上記変換テーブル生成機能によって、上記変換テーブルが生成され，
上記送信先変更機能によって、上記データのヘッダが上記クライアント機側代理サーバに向かうように書換えられる、データ通信システム。
【請求項８】
上記加工手段は、データの圧縮加工手段及び／又はデータのセキュリティ加工手段である、請求項７に記載のデータ通信システム。
【請求項９】
上記フィルタドライバと上記クライアント機側代理サーバ間は、所定のポートを用いてデータの交換が行なわれる、請求項７又は請求項８のいずれかに記載のデータ通信システム。
【請求項１０】
請求項７から請求項９のいずれか１項に記載した通信システムを用いて構築した、バーチャルプライベートネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、データ通信方法及びデータ通信システムに関する。詳しくは、種々のデータ通信において、セキュリティを格段に向上させることのできるデータ通信方法に関する。
【背景技術】
【０００２】
近年、インターネット等の通信ネットワークを介して種々の情報が交換される。インターネットは、複数のコンピュータが手を取り合う構造となっているため、一部のコンピュータが破壊されたり故障した場合でも、ネットワークが機能しなくなることはない。
【０００３】
一方、ネットワーク上の不特定な複数のコンピュータを通過して情報が交換されるため、ネットワークに接続されるコンピュータシステムにおいて、不正なアクセスやデータの盗み見、さらには、データ改ざん、データの破壊等の危険性も生じることになる。
【０００４】
通信データを作成したり閲覧等するためのアプリケーションソフトウエアとオペレーションシステムの通信システムとの間においては、上記アプリケーションソフトウエアに応じた特定のポートを介してデータのやりとりが行われる。コンピュータを起動すると同時に、種々のアプリケーションソフトウエアが起動し、アプリケーションソフトウエアに応じたポートが開かれ、通信可能な状態に置かれる。
【０００５】
ところが、ポートスキャン等の手法を用いることにより、上記ポートを見つけ出し、通信パケットを盗聴することにより、コンピュータシステムがどのようなネットワークのサービスを利用しているかを調べ上げることができる。特に、アプリケーションソフトウエアごとに、標準的に用いるポート番号が定められることが多く、使用ポートが判明するとコンピュータシステムへの侵入が容易になり、プロトコルを解析して種々の工作を行うことも可能になる。
【０００６】
上記問題を解決してセキュリティを高める、種々の手法が開発されている。
【特許文献１】特開２００２−８２９０７
【特許文献２】特開２００３−３３３０８４
【０００７】
上記特許文献１に記載されている発明は、セキュリティ・プロトコルを用いてサーバクライアント型データ通信をおこなうサーバとクライアントとの間に中継装置を備え、該中継装置が、前記クライアントの代理として、前期データ通信におけるセキュリティを維持する処理の一部を代行するように構成している。
【０００８】
中継装置において、通信データを暗号化したり、アクセスする者の認証を行うことができるため、セキュリティが向上する。しかしながら、暗号化等を行うためにシステムに大きな負荷がかかることが多い。上記特許文献１では、クライアントへのメッセージ送信量を少なくすることが可能となり、ネットワーク、クライアントでの負荷を低減できるとしている。
【０００９】
一方、上記特許文献２には、パケットフィルタリングを用いた手法が開示されている。パケットフィルタリングは、受信データパケットを検査し、あらかじめ設定したルールに基づいて、パケットの通過を許容し、あるいは拒否するものである。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記特許文献１に記載されている発明においては、上記中継装置において、サーバの認証処理、クライアントの認証処理、又はデータの暗号化・複合化処理をさせるように構成している。
【００１１】
ところが、上記手法によると、ネットワークサービスごとに別々のセキュリティアプリケーションソフトウエアが必要になる。すなわち、ｔｅｌｎｅｔ、ＦＴＰ、電子メール、ＷＷＷ、あるいはその他のサービスごとにプロトコルが異なるため、上記構成では、各々に対応するセキュリティプログラムが必要になる。この結果、クライアントが受けたいサービスが「中継装置」でサポートされていない場合、そのサービスにアクセスできないことになる。また、上記サービス及びこれらサービスの変更やバージョンアップ等に対応してセキュリティプログラムを設定するのは非常に困難である。
【００１２】
一方、上記特許文献２に記載されているパケットフィルタリングの手法は、ネットワークインターフェース層で実行されるものであるため、パーフォーマンスが高く、アプリケーションソフトウエアに依存しない。
【００１３】
ところが、ＩＰ（ＩｎｔｅｒｎｅｔＰｒｏｔｃｏｌ）のヘッダ情報のみで判断するため、上記セキュリティレベルが低く、また、各アプリケーションソフトウエアレベルでのアクセス制御はできないという問題がある。
【００１４】
本願発明は、上記従来のセキュリティ手法の問題を解決し、種々のアプリケーションソフトウエアに対して適用できるとともに、高いセキュリティを実現できるデータ通信方法を提供するものである。
【００１５】
本願の請求項１に記載した発明は、クライアント機側アプリケーションソフトウエアで生成された送信データを、インターネットを介してサーバ機側アプリケーションソフトウエアに送信するデータ通信方法であって、上記クライアント機に、上記アプリケーションソフトウエアと同一のオペレーションシステムで作動するクライアント機側代理サーバと、上記クライアント機のネットワークインターフェース層で作動するフィルタドライバとを設ける一方、上記サーバ機側に、上記サーバ機側アプリケーションソフトウエアと異なるオペレーションシステムで作動するサーバ機側代理サーバ機を設け、上記送信データを通信プロトコル処理した後、上記フィルタドライバによって上記クライアント機側代理サーバに向けて戻し転送する送信データループバック行程と、上記クライアント機側代理サーバに受信した上記送信データに所定の加工を施して加工送信データを生成する加工送信データ生成行程と、上記加工送信データを、所定のポート及びネットワークインターフェースを介して、上記クライアント機側代理サーバから、上記サーバ機側代理サーバ機に向けて送信する加工送信データ送信行程と、上記サーバ機側代理サーバ機で受信した加工送信データを、上記クライアント機側代理サーバに受信した送信データに復元するデータ復元行程と、復元した上記送信データを、上記代理サーバ機から上記サーバ機側アプリケーションソフトウエアに向けて転送する復元送信データ転送行程とを含んで構成される。
【００１６】
本願発明における上記フィルタドライバは、上記アプリケーションソフトウエア及びクライアント機側代理サーバがインストールされたオペレーションシステムの通信システムに組み込まれる。
【００１７】
本願発明では、ネットワークインターフェース層において機能するフィルタドライバを設け、クライアント機側アプリケーションソフトウエアからオペレーションシステムに引き渡されて、プロトコル処理された送信データのヘッダが解析される。上記ヘッダが所定の条件を満たす場合、上記アプリケーションソフトウエアと同一のオペレーションシステムで作動するクライアント機側代理サーバに戻し転送される。すなわち、宛先データとして上記送信データにＩＰヘッダ等が付加されるのであるが、上記ヘッダが所定の条件を満たす場合、経路を変更して上記クライアント機側代理サーバに戻し転送して、上記送信データを同じクライアント機のアプリケーションレベルへ戻すループバック行程を行うのである。上記ループバック行程は、パケットヘッダを書き換えることにより実行される。一方、所定の通過条件を満たす送信データは、通常どおり上記フィルタドライバをそのまま通過してネットワークインターフェースを介して指定した宛先へ送信される。また、上記差戻し転送の条件、通過条件の双方を満たさないデータは、廃棄するように構成される。
【００１８】
上記クライアント機側アプリケーションソフトウエアと上記クライアント機側代理サーバとの間は、本来の宛先であるサーバ機側アプリケーションソフトウエアとの間の通信手順と同様の手順でデータが送信される。すなわち、上記フィルタドライバによって宛先が変更されるものの、ＴＣＰ（ＴｒａｎｓｍｉｓｓｉｏｎＣｎｔｒｏｌＰｒｏｔｏｃｏｌ）あるいはＵＤＰ（ＵｓｅｒＤａｇｒａｍＰｒｏｔｃｏｌ）、及びＩＰ（ＩｎｔｅｒｎｅｔＰｒｏｔｃｏｌ）による通常のプロトコル受信処理が行われた上で、上記クライアント機側代理サーバが上記通信データを受信する。したがって、アプリケーションソフトウエアの設定等を変更する必要はない。また、同一のオペレーションシステムでのネットワークインターフェース層におけるルート変更であるため、アプリケーション層のプロトコルの相違が問題になることもない。また、上記クライアント機側アプリケーションソフトウエアと上記クライアント機側代理サーバとの間では、一応、通信手順が完結しているため、種々のアプリケーションソフトウエアで生成された送信データを、クライアント機側代理サーバにおいて一元的（画一的）に取り扱うことが可能となる。
【００１９】
上記クライアント機側サーバにおいて、上記送信データに対して種々の加工を行うことができる。たとえば、圧縮処理、暗号化処理のみならず、種々のセキュリティ情報を付加することができる。特に、本願発明では、上記クライアント機側代理サーバが、上記アプリケーションソフトウエアと同一のオペーションシステムで作動しているため、個人識別情報等をシステムから注出して付加することも可能となる。また、送信データを作成したクライアント機側アプリケーションソフトウエアが採用するプロトコルとは別個の独自のプロトコル処理を行うことも可能となり、セキュリティ性が高まる。
【００２０】
また、上記クライアント機側代理サーバは、上記加工を施した送信データを特定のポートを介して、サーバ機側代理サーバに向けて送信する。すなわち、上記クライアント機側アプリケーションソフトウエアにおいては、従来通り、各々のアプリケーションソフトウエアに対応した種々のポートを使用できる一方、上記クライアント機側代理サーバでは、特定の一つのポートを使用してサーバ機側代理サーバに対して通信を行うことも可能となる。この結果、種々のアプリケーションソフトウエアに対する通信待ち受けポートを特定の一つのポートに纏めることが可能となる。この結果、ネットワークに開かれるポートが限定され、その分セキュリティが向上する。また、通信データのベッダが書換えられるため、不正侵入者がアプリケーションレベルまで侵入することが困難となる。
【００２１】
クライアント機側代理サーバからサーバ機側代理サーバ機に送信される加工送信データは、上記サーバ機側代理サーバ機に通常の手順で受信され、上記クライアント機側代理サーバに受信した送信データに復元される。そして、通常の送信手順により、上記サーバ機側代理サーバ機から、本来の宛先であるサーバ機に送信され、通常の受信手順によって上記サーバ機側アプリケーションソフトウエアに受信される。
【００２２】
上述したように、本願発明は、いわば、パケットフィルタリングの手法とアプリケーションゲートウエイの手法とを組み合わせたものであり、種々のデータ通信における高いセキュリテュ機能を発揮させることができる。
【００２３】
また、上記送信データループバック行程は、上記フィルタドライバのヘッダ解析機能を用いて、上記通信プロトコル処理された送信データが、上記クライアント機側アプリケーションソフトウエアから上記サーバ機側アプリケーションソフトウエアに向けたものであるかどうかを検出するヘッダ解析行程と、上記送信データが上記クライアント機側アプリケーションソフトウエアから上記サーバ機側アプリケーションソフトウエアに向けたものである場合に、上記フィルタドライバの変換テーブル生成機能を用いて、上記送信データのヘッダから送信元及び送信先データを注出して構成されるヘッダ変換テーブルを、クライアント機側メモリ領域に生成する変換テーブル生成行程と、上記フイルタドライバのヘッダ書換え機能を用いて、上記送信データのヘッダを、上記サーバ機側アプリケーションソフトウエアから上記クライアント機側代理サーバ１向かうかのように書換えるヘッダ書換え行程と、上記ヘッダを書き換えた送信データを、上記クライアント機側代理サーバに戻し送信する戻し転送行程とを含むものである。
【００２４】
上記ヘッダ解析行程は、上記クライアント機にインストールされた種々のアプリケーションソフトウエアで作成される通信データに適用される。上記ヘッダ解析機能は、ＴＣＰ、ＵＤＰ及びＩＰ等によってプロトコル処理されたヘッダを解析するものであるため、送信データを作成するすべてののアプリケーョンに対して適用できる。
【００２５】
本願発明では、上記通信プロトコル処理された送信データが、上記クライアント機側アプリケーションソフトウエアから上記サーバ機側アプリケーションソフトウエアに向けたものである場合に、変換テーブルが生成される。上記変換テーブルは、クライアント機においてデータの授受を行う際に、クライアント機側代理サーバに向けるものか、あるいはクライアント機側アプリケーションソフトウエアに向けるものであるか否かの判断と、ヘッダを書き換えてルート変更するか否かの判断の指標となるものである。上記変換テーブルは、送信元ポート番号、すなわち、クライアント機側アプリケーションソフトウエアが利用した送信元ポート番号をキーとして、データのヘッダから、送信元マックアドレス、送信元ＩＰアドレス、送信先マックアドレス、送信先ＩＰアドレス及び送信先ポート番号を注出して上記変換テーブルが構成される。上記変換テーブルによって、クライアント機側代理サーバからサーバ機側代理サーバ機に送信されるデータを通過させたり、後に説明するように、宛先サーバから上記クライアント機側代理サーバを介して応答データを受け取る際に、上記クライアント機側アプリケーションソフトウエア及びその使用ポートを特定する機能を発揮する。
【００２６】
上記変換テーブルを生成するとともに、上記フイルタドライバのヘッダ書換え機能によって、上記送信データのヘッダが、上記サーバ機側アプリケーションソフトウエアから上記クライアント機側代理サーバに向かうように書換えられる。すなわち、上記フィルタドライバによって、送信データが、上記クライアント機側代理サーバに向けて経路変更が行われる。このとき、上記クライアント機側代理サーバは、所定のポートを用いて上記送信データを受け取る。上記クライアント機側アプリケーションソフトウエアは、上記クライアント機側代理サーバを本来の送信データの宛先サーバとして認識してデータ送信手順が実行される。
【００２７】
特に、本願発明では、クライアント機側アプリケーションソフトウエアで生成された送信データが、あたかも、宛先であるサーバ機側アプリケーションソフトウエアから上記クライアント機側代理サーバに向かうように、上記送信元ＩＰアドレスが書換えられる。これにより、外部からみた場合に、あたかも上記クライアント機側代理サーバが主体となって通信しているかのように装うことが可能となり、クライアント機側アプリタケーションソフトウエアが使用するポート番号等が外部に流出しなくなる。これにより、セキュリティ性能が格段に向上する。
【００２８】
上記クライアント機側代理サーバにおいて、上記送信データに対して種種の加工を施すことができる。たとえば、請求項２に記載した発明のように、データ圧縮加工、データ暗号化加工及び認証等の付加加工等のアプリケーションレベルのセキュリティを高める加工を施すことができる。
【００２９】
本願の請求項３に記載した発明は、上記クライアント機側アプリケーションソフトウエアのリクエストに応じて、送信データに対する応答データの処理に関するものである。
【００３０】
すなわち、請求項３に記載した発明は、上記サーバ機側アプリケーションソフトウエアが、受信した上記送信データに基づいて応答データを生成する応答データ生成行程と、上記応答データをサーバ機側代理サーバに機向けて転送する応答データ転送行程と、上記サーバ機側代理サーバ機に受信した上記応答データに所定の加工を施して加工応答データを生成する加工応答データ生成行程と、上記加工応答データを、上記サーバ機側代理サーバ機のネットワークインターフェースを介して、上記クライアント機側代理サーバに向けて送信する加工応答データ送信行程と、上記クライアント機側代理サーバが、上記加工応答データを所定のポートを介して受信する加工応答データ受信行程と、上記クライアント機側代理サーバに受信した加工応答データを、上記サーバ機側代理サーバ機に受信した応答データに復元する応答データ復元行程と、復元した上記応答データを、上記サーバ機側アプリケーションソフトウエアに向かうように通信プロトコル処理した後、上記フィルタドライバによって上記クライアント機側アプリケーションソフトウエアに戻し転送する応答データループバック行程と、上記クライアント機側アプリケーションソフトウエアが、上記応答データを受信する応答データ受信行程とを含むものである。
【００３１】
上記サーバ機側アプリケーションソフトウエアで生成された応答データは、まずサーバ機側代理サーバ機に向けて送信される。上記サーバ機は、オペレーションシステム及びサーバソフトウエアを備えて構成されており、上記サーバ機とサーバ機側代理サーバ機との間のデータ通信は、ＴＣＰ，ＵＤＰ／ＩＰによる通常の通信手順で行われる。上記サーバ機側代理サーバにおいて、上記応答データに対して、上記クライアント機側代理サーバで行ったのと同様の加工が施される。すなわち、データ圧縮加工、データ暗号化加工及び認証等のセキュリティ加工等を施して、アプリケーションレベルのセキュリティを高める加工を施すことができる。上記加工が施された加工応答データは、通常の送信手順を用いて、上記サーバ機側代理サーバから上記クライアント機側代理サーバに向けて送信される。
【００３２】
上記クライアント機のネットワークインターフェースに受信した応答データに対して、上記フィルタドライバによる判断が行われる。上記応答データが、上記サーバ機側代理サーバ機からクライアント機側代理サーバに向けたものである場合には、上記フィルタドライバは、上記応答データをそのまま通過させて、上記クライアント機側代理サーバに受信させる。この場合も、通常の通信手順でプロトコル処理が行われる。
【００３３】
上記クライアント機側代理サーバでは、データ解凍加工、データ復復合化加工及び認証等がなされて、上記サーバ機側アプリケーションソフトウエアから送信された状態の応答データが復元される。
【００３４】
次に、上記応答データは、上記クライアント機側代理サーバから、上記クライアント機側アプリケーションソフトウエアに向けて転送される。この場合、ＴＣＰ，ＵＤＰ／ＩＰを用いた通常の送信手順が用いられ、送信元ＩＰアドレスとしてクライアント機側代理サーバのＩＰアドレスが付加されるとともに、送信先のＩＰアドレスとしてサーバ機側アプリケーションソフトウエアのＩＰアドレスが付加される。すなわち、あたかもクライアント機側代理サーバがサーバ機に向かってデータを送信しているかのように設定される。一方、送信元のポート番号としてクライアント機側代理サーバの使用するポート番号が付加されるが、送信先のポートとして上記変換テーブルに記録されたクライアント機側アプリケーションソフトウエアが利用するポート番号宛とされる。
【００３５】
上記復元応答データが、上記フィルタドライバを通過する際、上記ヘッダ解析機能により、送信データのベッダが解析されてループバック対象であると認識される。そして、上記フィルタドライバのヘッダ書換え機能により、上記復元応答データの送信元情報がサーバ機側アプリケーションソフトウエアのＩＰアドレスに、ポート番号がサーバ機側アプリケーションソフトウエアのポート番号に書換えられる。また、送信先情報がクライアント機側アプリケーションのＩＰアドレスに、送信先ポート番号が上記クライアント機側アプリケーションソフトウエアが使用しているポート番号に書換えられて、上記サーバ機側アプリケーションソフトウエアからの応答データとして、上記クライアント機側アプリケーションソフトウエアに受信される。
【００３６】
本願発明では、上記クライアント機側代理サーバから、上記クライアント機側アプリケーションソフトウエアに応答データを転送する際、送信先ＩＰアドレスとして、サーバ機側アプリケーションのＩＰアドレスに書き換える。すなわち、クライアント機側代理サーバは、上記サーバ機側アプリケーションソフトウエアに対してデータを転送するように偽装して、応答データを転送するのである。これにより、サーバ機側アプリケーションソフトウエア以外から、クライアント機側アプリケーションソフトウエアにアクセスすることが困難になり、セキュリティを格段に向上させることが可能となる。一方、クライアント機側アプリケーションソフトウエアは、環境設定等を変更する必要はなく、種々のアプリケーションソフトウエアに対して上記手法を採用することができる。
【００３７】
本願の請求項７に記載した発明は、クライアント機で生成された送信データを、インターネット及び代理サーバ機を介してサーバ機に送信するデータ通信システムである。
【００３８】
上記クライアント機、上記代理サーバ機及び上記サーバ機は、演算装置、記憶装置、ネッチワークに対する入力手段等の基本的構成を備えており、そさぞれが独立したオペレーションシステムで作動するように構成されている。
【００３９】
上記クライアント機は、上記の機器構成に加え、上記サーバ機側アプリケーションソフトウエアに対する送信データを生成できるクライアント機側アプリケーションソフトウエアと、上記アプリケーションソフトウエアと同一のオペレーションシステムで作動し、データに対して所定の加工を行うことのできるクライアント機側代理サーバと、上記ネットワークに対してデータを送受信できる通信手段と、上記クライアント機のネットワークインターフェース層で作動するとともに、所定の条件を満たすヘッダの付された通信データを検出して、上記ヘッダを変更することにより転送先を変更できるフィルタドライバとを備えて構成されている。
【００４０】
上記通信手段は、たとえば、インターネットで使用されるプロトコル処理を行うことのできる種々の通信プログラムを適用できる。上記クライアント機側及び上記サーバ機側アプリケーションソフトウエアは、データ交換を行える種々のソフトウエアを採用することができる。たとえば、メールソフトウエア、ウェブブラウザ等のみならず、業務用の専用のデータベースソフトウエアを採用することもできる。これらソフトウエアはプログラムの形態で上記クライアント機及び上記サーバ機にインストールされている。
【００４１】
上記代理サーバは、受信したデータに所定の加工を施すことのできるデータ加工手段が設けられる。上記データ加工手段として、たとえば、データ圧縮手段やデータ暗号化手段等を採用することができる。
【００４２】
上記代理サーバ機は、サーバ機側に設けられのが望ましい。たとえば、上記クライアント機と上記代理サーバ間は、一般のインターネットを利用してデータ通信を行う一方、上記代理サーバ機と上記サーバ機間は、ローカルエリアネットワーク等を利用することができる。
【００４３】
上記サーバ機は、上記クライアント機側アプリケーションソフトウエアから受信したデータに基づいて、データ処理を行い返答データを生成できるサーバ機側アプリケーションソフトウエアと、上記代理サーバ機に対してデータの送受信を行う通信手段とを備えて構成され、クライアント機側アプリケーションソフトウエアからのデータ要求等に対応してデータが生成される。
【００４４】
上記フィルタドライバは、上記データ入出力装置を通過しようとするデータのパケットヘッダを解析して所定の条件をを満たすデータを検出できるヘッダ解析機能と、上記所定の条件を満たすデータの送信元データ及び送信先データを注出して、クライアント機側のメモリ領域に、ヘッダ変換テーブルを生成できる変換テーブル生成機能と、上記変換テーブル及びあらかじめ設定された変換テーブルに基づいて、上記データのヘッダを書き換えて送信先を変更する送信先変更機能とを備えて構成できる。これら各機能は、プログラムの形態でフィルタドライバに付与されている。また、上記条件を満たさないデータは廃棄するように設定するのか望ましい。
【００４５】
上記ヘッダ解析機能によって、上記クライアント機側アプリケーションソフトウエアで生成されて上記サーバ機側アプリケーションソフトウエアに向かうデータが検出され、上記変換テーブル生成機能によって、上記変換テーブルが生成され，上記送信先変更機能によって、上記データのヘッダが上記クライアント機側代理サーバに向かうように書換えられるように構成できる。
【００４６】
一方、上記ヘッダ解析機能によって、上記クライアント機側代理サーバから上記サーバ機側アプリケーションソフトウエアへ向かうデータが検出され、上記ヘッダ書換え機能によって、上記データのヘッダが、上記クライアント機側アプリケーションソフトウエアに向かうように書換えられる。
【００４７】
本願発明に係るシステムにおいては、請求項１０に記載した発明のように、上記フィルタドライバと上記クライアント機側代理サーバ間が、所定のポートを用いてデータの交換を行うように構成できる。すなわち、クライアント側では、特定のポートを使用して通信することができるためセキュリティ性が向上する。また、上記クライアント機側サーバが、クライアント機側ソフトウエアと同じコンピュータにインストールされているため、通信を行うアプリケーションソフトウエアが異なっても、通信プロトコルの相違による問題が生じることはない。したがって、種々のアプリケーションソフトウエアに対応できる通信システムう構築することができる。
【００４８】
しかも、上記通信データは、インターネット上を流れる場合には、圧縮・暗号化され、しかも、クライアント機においては、クライアント機側代理サーバ機を介してのデータ交換になるため、外部から上記データにアクセスすることは極めて困難である。したがって、上記構成の通信システムを採用することにより、セキュリティ性を格段に高めたバーチャルプライベートネットワークシステムを構築することが可能となる。
【発明を実施するための最良の形態】
【００４９】
以下、本願発明の実施の形態を図に基づいて説明する。
【００５０】
図１に示すように、本実施の形態に係るデータ通信方法は、装置構成として、クライアント機１と、サーバ機２と、このサーバ機側に設けられるサーバ機側代理サーバー機３とを備えて構成される。上記クライアント機１と上記サーバ機側代理サーバ機３は、インターネット４を介してデータを交換できるように構成されている。上記サーバ機側代理サーバ機３とサーバ機２との間は、ローカルエリアネットワーク２４等を介してデータ交換できるように構成されている。なお、ネットワークの態様は上記のものに限定されることはなく、上記サーバ機側代理サーバ機３と上記サーバ機２とを、上記インターネットや他のネットワークを介して接続することもできる。また、サーバ機２とサーバ機側代理サーバ機３とを、直接接続することもできる。
【００５１】
上記クライアント機１には、クライアント機側アプリケーションソフトウエア５及びソフトウエアとしてのクライアント機側代理サーバ６が、同じオペレーションシステム７で作動するようにインストールされている。なお、ここでは、上記オペレーションシステム７は、上記クライアント機側アプリケーションソフトウエア５及びクライアント機側代理サーバ６に対して、上記インターネット４を介して通信データの授受を行うための通信システム８を含む概念である。上記通信システム８は、ＴＣＰあるいはＵＤＰ、及びＩＰを用いた一般的な通信システムが採用されている。
【００５２】
インターネット等のネットワークでは、データは上記通信システム８によって一定のデータ量のパケットに分割されて、ネットワーク４に送り出される。上記パケット等の通信手順は、階層構造を備えるプロトコルによって実行される。図２に、本実施の形態で利用されるパケットヘッダの一例を示す。この図に示すように、分割された実データＤ（ペイロード）の頭部には、宛先等を記述したパケットヘッダと呼ばれる識別符号１１，１２，１３が、上記階層構造に対応したプロトコルによってそれぞれ付加されていく。
【００５３】
実施の形態では、クライアント機側アプリケーションソフトウエア５で生成された実データＤに対して、トランスポート層２６においてＴＣＰヘッダ１１が付加され、インターネット層２７においてＩＰヘッダ１２が付加され、さらに、ネットワークインターフェース層９においてイーサネットヘッダ１３（イーサネットは登録商標）が付加される。すなわち、各階層において上記のプロトコル処理がなされて、実データに対して各階層のヘッダが重畳的に付加されていく。図２のネットワークインターフェース層のデータが、インターネットへ送出する直前のデータ形態である。なお、実施の形態では、トランスポート層２６においてＴＣＰヘッダが付加されるように構成しているが、データの形態等に応じて、ＵＤＰヘッダ等を付加するように構成することもできる。
【００５４】
図３に、各パケットヘッダの構成を示す。各パケットヘッダは、送信データを相手先に伝達するための情報をそれぞれ含んでおり、通信経路途中や宛先のオペレーションシステムにおいて、上記パケットヘッダが解読され、所定の宛先の装置及びアプリケーションソフトウエアにデータを送り届ける。なお、各ヘッダの上部の数字はビット数を表している。
【００５５】
本実施の形態では、図１に示すように、上記通信システム８のネットワークインターフェース層９で作動するフィルタドライバ１０が設けられている。上記フィルタドライバ１０は、ヘッダが付加されたデータを分析し、所定の条件を満たす場合にこのデータを注出して、上記パケットヘッダを書き換えて、このデータの転送ルートを変更できるように構成されている。
【００５６】
上記フィルタドライバ１０において、検出及び書換え対象となるパケットヘッダは、図３に示すネットワークインターフェース層で付加されるイーサネットヘッダのうち送信先マックアドレス１４及び送信元マックアドレス１５、インターネット層で付加されるＩＰヘッダのうち送信元ＩＰアドレス１６及び送信先ＩＰアドレス１７、トランスポート層で付加されるＴＣＰヘッダのうち送信元ポート番号１８及び送信先ポート番号１９である。
【００５７】
上記フィルタドライバ１０は、パケットヘッダ解析手段と、あらかじめ設定されたフィルタリングルール（通過、廃棄、転送等を行う条件）と、変換テーブル生成手段と、パケットヘッダ書換え手段とを備えて構成されている。
【００５８】
上記パケットヘッダ解析手段は、クライアント機の上記通信システム８を通過する全てのパケットに対して適用され、パケットヘッダを注出して解析する。
【００５９】
上記フィルタリングルールにより、上記パケットヘッダに所定の記述が検出された場合に、通過、廃棄、転送等を実行する。
【００６０】
本実施の形態に係る上記フィルタリングルールは、（１）図１１のＨ１欄に示すパケットヘッダが検出された場合に、ヘッダをＨ２欄に示すものに書換えて、転送先を変更すし、（２）図１１のＨ３欄及び図１２のＨ６欄のパケットヘッダが検出された場合そのまま通過させ、（３）図１２のＨ７欄に示すパケットヘッダが検出された場合に、ヘッダを図１２のＨ８欄に示すものに書きえて転送先を変更し、（４）それ以外のものについてはデータを廃棄する、というものである。
【００６１】
上記パケットヘッダ書換え手段は、上記パケットヘッダを書き換えて、上記データの経路を変更するためのものである。
【００６２】
上記変換テーブル生成手段は、上記パケットヘッダから注出した情報から、送信元ポート番号ＡＣ・ＰＴをキーとして、図４に示す変換テーブル２１を生成する。上記変換テーブル２１は、上記クライアント機１のメモリ領域に格納される。この変換テーブル２１は、クライアント機側アプリケーションソフトウエア５からのデータ要求等に応じてサーバ側からの返答があった場合に、上記変換テーブル２１を参照してパケットヘッダを書換え、発信元のクライアント機側アプリケーションソフトウエア５にデータを帰すために作成される。なお、本実施の形態で取り扱うデータは、アプリケーションによって生成されるデータのみならず通信を行う上で必要なデータ、たとえば確認応答データ等も含まれる。
【００６３】
図５は、クライアント機１における送信データの通過経路の概要を示す図である。この図に示すように、メイラーあるいはブラウザ等のクライアント機側アプリケーションソフトウエア５ａ，５ｂ，５ｃ等で送信データが生成され、サーバ機側アプリケーションソフトウエア２２に向けて転送指示がなされる。クライアント機側アプリケーションソフトウエア５ａ，５ｂ，５ｃで生成された送信データは、アプリケーション層におけるプロトコル処理がなされた後、各アプリケーションソフトウエアに対応するポート２０ａ，２０ｂ，２０ｃ，２０ｄ…を介して上記通信システム８のトランスポート層２６に引き渡される。
【００６４】
送信データはパケットに分割され、パケットヘッダ等が付加されてネットワークインターフェースからネットワーク４に送出される。本実施の形態では、上記フィルタドライバ１０が、ネットワークインターフェース層９に引き渡された送信データのパケットヘッダを解析する。パケットヘッダが上記の条件を満たす場合にヘッダを書換え、上記アプリケーションソフトウエア５ａ，５ｂ，５ｃと同じオペレーションシステム７で作動するクライアント機側代理サーバ６に向けて送信経路を変更する。一方、送信データのパケットヘッダが上記条件を満たさない場合には、上記フィルタドライバ１０によってデータが廃棄される。なお、必要に応じて特定のアプリケーションからのデータをそのまま通過させるように構成することができる。この場合、上記フィルタドライバ１０に通過させる条件が別途設定される。
【００６５】
送信データが、上記フィルタドライバ１０によって、クライアント機側代理サーバ６へ戻し転送される際には特定の一つのポート２０ｈが使用されるとともに、上記クライアント機側代理サーバ６から上記通信システム８に送信データを送出する場合にはポート２０ｊが使用される。なお、上記戻し転送するポートと、送出ポートとを同一のポートに設定することもできる。
【００６６】
図７〜図１０に本実施の形態に係るデータ通信方法のフローチャートの一例を示す。また、図１１及び図１２に、上記フローチャートにしたがって処理されるデータのパケットヘッダの変遷を示す。以下、これらの図に基づいて、本実施の形態に係るデータ通信方法を説明する。
【００６７】
メイラーあるいはブラウザ等のクライアント機側アプリケーションソフトウエア５ａ，５ｂ，５ｃ等で送信データが生成され、サーバ機側アプリケーションソフトウエア２２に向けて転送指示がなされる（Ｓ１０１）。上記送信データは、アプリケーション層におけるプロトコル処理等（Ｓ１０２）がなされた後、各アプリケーションソフトウエアに対応した上記ポート２０ａ，２０ｂ，２０ｃ…を介して通信システム８のトランスポート層２６に引き渡される。図５に示すように、上記アプリケーションソフトウエア５ａ，５ｂ，５ｃ等から送信指示がなされるデータのうち、アプリケーションソフトウエア５ａからの送信データのように、条件を満たさず上記フィルタドライバ１０によってデータが廃棄されるものと、アプリケーションソフトウエア５ｂ．５ｃのように上記フィルタドライバに１０よって経路が変更されるものと、そのまま通過させるものがある。本実施の形態では、上記アプリケーションソフトウエア５ａから直接インターネットに情報を送出できないように構成しているが、特定のアプリケーションソフトウエアからの送信データや送信先等に応じて、送信データを上記フィルタドライバ１０をそのまま通過させるように設定することもできる。
【００６８】
以下、経路が変更される場合について説明する。
【００６９】
上記トランスポート層２６に引き渡された送信データは、ＴＣＰ処理がなされて、図３に示す形態のＴＣＰヘッダが付加される。経路変更が行われるデータは、図１１のＨ１欄に示すように、送信元ポート番号としてＡＣ・ＰＴ（クライアント機側アプリケーョンソフトウエアのポート番号）、送信先ポート番号としてＡＳ・ＰＴ（サーバ機側アプリケーションソフトウエアのポート番号）が付加される（Ｓ１０３）。なお、図１１及び図１２の表に示す記号は、理解を容易にするためにソフトウエア及び機器を代表させたものとしている。
【００７０】
次に、上記ポート情報が付加された送信データは、インターネット層に引き渡されてＩＰ処理がなされて、図３に示す形態のＩＰヘッダが付加される。このときに、送信元ＩＰアドレスとしてＡＣ・ＩＰ（クライアント機側ＩＰアドレス）、送信先ＩＰアドレスとしてＡＳ・ＩＰ（サーバ機側ＩＰアドレス）が付加される。その後、ネットワークインターフェース層に引き渡されて、図３に示す形態のイーサネットプロトコル処理がなされて、送信元マックアドレスＡＣ・ＭＣ（クライアント機側マックアドレス）、送信先マックアドレスＮＸ・ＭＣ（次に通過する機器のマックアドレス）が付加される（Ｓ１０３）。
【００７１】
本実施の形態では、上述したように、上記フィルタドライバ１０のヘッダ解析手段がネットワークへ送出する直前の送信データの上記パケットヘッダを解析する。（Ｓ１０４）そして、上記送信データが上記クライアント機側アプリケーションソフトウエアからサーバ機側アプリケーションソフトウエアに向けたものである場合に、上記パケットヘッダを書き換えて、送信データを上記クライアント機側代理サーバ６に向けて経路変更する（Ｓ１０６）。
【００７２】
具体的には、上記送信元及び送信先のＩＰアドレスを検出して、パケットヘッダを書き換えるかどうかを判断する。そして、上記送信データがクライアント機側アプリケーションソフトウエア５からサーバ機側アプリケーションソフトウエア２２に向けたものである場合（Ｓ１０４でＹ）、図４に示す変換テーブル２１が生成される（Ｓ１０５）。
【００７３】
上記変換テーブル２１は、送信元ポート番号（ＡＣ・ＰＴ）をキーとして作成される。上記変換テーブル２１は、クライアント機１のメモリ領域に生成され、本実施の形態では、少なくとも上記送信データに対する応答データを受信するまで保持される。
【００７４】
一方、上記送信データが、上記クライアント機側アプリケーションソフトウエア５からサーバ機側アプリケーションソフトウエア２２に向けたものでない場合は（Ｓ１０４でＮｏ）、上記フィルタリングルールの通過対象であるかどうかが判断されて（Ｓ１１５）、通過対象でない場合はデータが廃棄される（Ｓ１１７）。なお、通過対象である場合は（Ｓ１１５でＹ）、上記フィルタドライバ１０は送信データをそのまま通過させて、パケットヘッダどおりの宛先に向けてデータが送信される（Ｓ１１６）。
【００７５】
上記戻し転送の対象となる送信データに対して、上記記変換テーブル２１が生成された後、上記送信データのパケットヘッダが書換えらる（Ｓ１０６）。本実施の形態では、図１１のＨ２欄に示すように、送信元ＩＰアドレスがＡＳ・ＩＰ（サーバ機のＩＰアドレス）に、送信先マックアドレスがＡＣ・ＭＣ（クライアント機マックアドレス）に、送信先ＩＰアドレスがＸＣ・ＩＰ（クライアント機側代理サーバＩＰアドレス）に、送信先ポート番号がＸＣ・ＰＴ（クライアント機側代理サーバのポート番号）に書換えられる。すなわち、送信データは、あたかもサーバ機側アプリケーションソフトウエア２２からクライアント機側代理サーバに向かうかのように、上記パケットヘッダが書換えられる。そして、インターネット４に送出することなく、クライアント機側代理サーバ６に向けてループバック転送されるのである。（Ｓ１０７）
【００７６】
上記ループバック転送された送信データは、上述した経路と逆方向に通常の手順にしたがってプロトコル処理される。すなわち、イーサネットヘッダ、ＩＰヘッダ及びＴＣＰヘッダが順次が取り除かれた後（Ｓ１０８）、上記ポート２０Ｈを介して上記クライアント機側代理サーバ６に受信される（Ｓ１０９）。なお、ここでは、上記クライアント機側代理サーバ６のデータ受信ポートは、上記送信先ポート番号ＸＣ・ＰＴ（クライアント機側代理サーバのポート）に対応するポート２０ｈとなる。
【００７７】
上記クライアント機側アプリケーションソフトウエア５ｂ、５ｃと上記クライアント機側代理サーバ６との間の通信は、ヘッダを書き換えること以外は、通常の通信手順と全く同様に処理される。このため、上記クライアント機側アプリケーションソフトウエア５ｂ、ｃは、上記クライアント機側代理サーバ６を、本来の宛先のサーバ機側アプリケーションソフトウエア２２と認識して通信を行うことになる。
【００７８】
上記クライアント機側代理サーバ６において、上記送信データに種々の加工が施される。本実施の形態では、クライアント機側代理サーバの暗号化処理手段によってデータを暗号化し、データ圧縮手段よってデータを圧縮し、セキュリティ処理手段によってセキュリティ情報の付加がなされる（Ｓ１１０）。なお、上記クライアント機側代理サーバ６に、上記以外の種々の処理プログラムを設けておき、各アプリケーションソフトウエアや送信データに最適な処理を選択して行うこともできる。
【００７９】
上記クライアント機側代理サーバ６において加工された加工送信データに対して、あらかじめ設定された送信先の書き込みが行われ（Ｓ１１１）、独自のアプリケーション層プロトコル処理がなされる（Ｓ１１２）。本実施の形態では、サーバ機側代理サーバ２３が送信先として書き込まれる。その後、サーバ機側代理サーバ２３に向けて送信指示がなされて（Ｓ１１３）、ポート２０Ｊを介して上記通信システム８に引き渡される。上記通信システム８では、上記クライアント機側代理サーバ６に対応した送信元情報、サーバ機側代理サーバ機に対応した送信先情報がパケットヘッダとして付加される。すなわち、図１１のＨ３欄に示すように、クライアント機側代理サーバに対応した送信元マックアドレス（ＸＣ・ＭＣ）、送信元ＩＰアドレス（ＸＣ・ＩＰ）、送信元ポート番号（ＸＣ・ＰＴ）が付加される一方、送信先であるサーバ機側代理サーバに対応した送信先ＩＰアドレス（ＸＳ・ＩＰ）、送信先ポート番号（ＸＳ・ＰＴ）が付加される。なお、送信先マックアドレスとしては、次の中継機器に対応したマックアドレス（ＮＸ・ＭＣ）が付加される（Ｓ１１４）。
【００８０】
上記加工送信データは、再度上記フィルタドライバ１０に引き渡されてパケットヘッダの解析が行われるが（Ｓ１１５）、通過条件を満たしているため、ヘッダの書換え及びループバック処理は行われずにそのまま通過させられて、ネットワークインターフェースから、サーバ機側代理サーバ２３に向けてインターネットに送出される。（Ｓ１１６）
【００８１】
上記サーバ機側代理サーバ機３には、オペレーションシステム２８及びアプリケーションソフトウエアとしての上記サーバ機側代理サーバ２３がインストールされており、インターフェースで上記加工送信データが受信された後（Ｓ１１８）、通常の通信手順によって上記加工送信データが、上記サーバ機側代理サーバ２３に引き渡される。すなわち、受信した加工送信データに対して、ネットワークインターフェース層３１においてイーサネットプロトコル処理がなされ、インターネット層３０においてＩＰ処理がなされ、トランスポート層２９においてＴＣＰ処理が行われる（Ｓ１１９）。その後、図示しないサーバ機側代理サーバのポート（ＸＳ・ＰＴ）を介してサーバ機側代理サーバ２３に引き渡される（Ｓ１２０）。サーバ機側代理サーバ２３に引き渡された加工送信データは、アプリケーション層の独自プロトコル処理が行われるとともに（Ｓ１２１）、上記サーバ機側代理サーバ２３の解凍処理手段により解凍され、復号化処理手段によって復号化され、セキュリティ処理手段によってセキュリティ処理が行われて、送信データが復元される（Ｓ１２２）。
【００８２】
次に、復元された上記送信データは、上記サーバ機側代理サーバ２３から、サーバ機２に向けて転送される（Ｓ１２４）。上記サーバ機側代理サーバ２３は、独立したオペレーションシステム２８によって作動しているため、通常の手順にしたがって送信データが転送される。すなわち、アプリケーション層のプロトコル処理、トランスポート層２９のＴＣＰ処理、インターネット層３０のＩＰ処理、ネッワークインターフェース層３１のイーサネットプロトコル処理が順次行われて（Ｓ１２５）、上記復元送信データが、サーバ機側代理サーバ機３のネットワークインターフェースからサーバ機２に向けて転送される（Ｓ１２６）。このときの復元送信データのパケットヘッダの状態を図１１のＨ４欄に示す。上記サーバ機側代理サーバ機と上記サーバ機は、社内ＬＡＮ等で接続されることが多いため、通信負荷は小さい。
【００８３】
上記サーバ機２は、ネットワークインターフェースを介して上記加工送信データを受取り（Ｓ１２７）、ネッワークインターフェース層のイーサネットプロトコル処理、インターネット層のＩＰ処理、トランスポート層のＴＣＰ処理（Ｓ１２８）、アプリケーション層のプロトコル処理（Ｓ１２９）が順次行われる。そして、上記復元送信データが上記サーバ機側アプリケーションソフトウエア２２に受け取られ（Ｓ１３０）、送信データの処理が行われる（Ｓ１３１）。これにより、クライアント機側アプリケーションソフトウエア５からサーバ機側アプリケーションソフトウエア２２へのデータ送信が終了する。
【００８４】
次に、図９及び図１０に基づいて、上記サーバ機側アプリケーションソフトウエア２２から、上記送信データに対する応答データを上記クライアント機側アプリケーションソフトウエア５に送信する手順について説明する。
【００８５】
まず、サーバ機側アプリケーションソフトウエア２２によって応答データが生成されて、クライアント機側アプリケーションソフトウエア５に向けて送信が指示される（Ｓ２０１）。
【００８６】
上記応答データは、アプリケーションプロトコル処理がなされ（Ｓ２０２）、通常の送信手続と同様に、トランスポート層のＴＣＰ処理、インターネット層のＩＰ処理、ネッワークインターフェース層のイーサネットプロトコル処理が順次行われて（Ｓ２０３）、ネットワークインターフェースからサーバ機側代理サーバ２３に向けて転送される。この時のパケットヘッダの状態を図１２のＨ５欄に示す。
【００８７】
上記サーバ機側代理サーバ２３は、上述したように、独立したオペレーションシステム２８で作動しているため、上記応答データを通常の手順で受信する（Ｓ２０５〜Ｓ２０７）。なお、受信手順（プロトコル処理）は、上述した加工送信データを受け取る場合と同様であるので説明は省略する。
【００８８】
上記サーバ機側代理サーバ２３では、クライアント機側代理サーバ６と同様に、上記応答データに対して、データの暗号化処理、圧縮処理、セキュリティ情報の付加等がなされて加工応答データが生成される。（Ｓ２０８）。
【００８９】
上記加工応答データは、独自プロトコル処理（Ｓ２０９）された後、通常の送信手順、すなわち、ＴＣＰ／ＩＰ処理、イーサネットプロトコル処理が行われて（Ｓ２１０）、ネットワークインターフェース及びネットワーク４を介してクライアント機側代理サーバに向けて送信される（Ｓ２１１）。この時のパケットヘッダの状態を図１２のＨ６欄に示す。
【００９０】
図６に、クライアント機１が応答データを受信した後のデータ経路の概略を示す。上記クライアント機１は、上加工応答データをネットワークインターフェースに受信し（Ｓ２１４）、上記フィルタドライバ１０によって、パケットヘッダが解析される（Ｓ２１５）。上記パケットヘッダは、図１２のＨ６欄に示すように、サーバ機側代理サーバ２３からクライアント機側代理サーバに向かうように設定されているため、上記フィルタドライバ１０を通過して、通常の受信手順と同様に、上記クライアント機側代理サーバ６に受信される。通信システム８における受信手続は、上述した手順と同様であるので説明は省略する（Ｓ２１６、Ｓ２１７）。
【００９１】
一方、本実施の形態では、上記以外のパケットヘッダが付加されていた場合は、データが廃棄される（Ｓ２２９）。なお、あらかじめフィルタリングルールを定めることにより、上記クライアント機側アプリケーションに直接受信させることもできる。本システム専用の機器の場合は、上述した条件を満たさないパケットすべてを廃棄するように構成するのが、セキュリティ上望ましい。
【００９２】
上記クライアント機側代理サーバ６では、独自プロトコル処理が行われ（Ｓ２１８）、解凍機能により上記加工応答データを解凍し、復号化手段により暗号化されたデータを復号し、セキュリティ解除処理が行われて、上記サーバ機側アプリケーションソフトウエアで生成した応答データが復元される（Ｓ２１９）。
【００９３】
上記復元応答データは、クライアント機側代理サーバ６からクライアント機側アプリケーションソフトウエア５に転送される。上記転送手順においても通常のプロトコル処理が行われるが（Ｓ２２０）、このとき、上記通信システム８のプロトコル処理において、図１２のＨ７欄に示すように、上記復元応答データの送信先ヘッダをサーバ機側アプリケーションソフトウエアのＩＰアドレス（ＡＳ・ＩＰ）に設定する一方、ポート番号をクライアント機側アプリケーションソフトウエアが使用するもの（ＡＣ・ＰＴ）に設定する。すなわち、復元した応答データをサーバ機側アプリケーションソフトウエア２２に向かうかのように設定して転送するのである（Ｓ２２１）。上記設定は、一見矛盾するように見える。しかし、本実施の形態では、インターネットに送出するまでにフィルタドライバ１０に上記パケットヘッダを検出及び解析させ、真正な送信先に対応するヘッダに書き換える。
【００９４】
すなわち、上記ヘッダが付加された応答データが、上記フィルタドライバ１０に受信されると、サーバ機側アプリケーションソフトウエアのＩＰアドレスとクライアント機側アプリケーションポート番号を検出することにより、経路変更対象であると判断して（Ｓ２２２でＹ）、上記ヘッダを書き換える。
【００９５】
上記ヘッダの書換えは、クライアント機側アプリケーションソフトウエア５からの送信データを受信した際に生成された上記変換テーブル２１に基づいて行われる。すなわち、図１２のＨ８欄に示すように、送信元ＩＰアドレス及び送信元ポート番号をサーバ機側アプリケーションソフトウエアとするものに書換えられるとともに、送信先ＩＰアドレス及び送信先ポート番号をクライアント機側アプリケーションソフトウエア５とするものに書き換える（Ｓ２２３）。これにより、変転データの経路が変更され、サーバ機側アプリケーションソフトウエア２２からクライアント機側アプリケーションソフトウエア５へデータが転送されたものとして、クライアント機側アプリケーションソフトウエアにループバック転送される（Ｓ２２４）。
【００９６】
ヘッダが書換えられた応答データの上記ループバック転送は、クライアント機の通信システム８の通常の受信手順によって行われる。すなわち、イーサネットプロトココル受信処理、ＩＰ受信処理及びＴＣＰｏｒＵＤＰ受信処理がなされ（Ｓ２２５）、アプリケーションレベルのプロトコル処理が行われて（Ｓ２２６）、クライアント機側アプリケーションソフトウエアに応答データが受信される（Ｓ２２７）。これにより、クライアント機側アプリケーションソフトウエア５と、サーバ機側アプリケーションソフトウエア２２との間の、送信及び応答処理が完結する。
【００９７】
本実施の形態では、ネットワークインターフェース層９におけるパケットフィルタリングの手法と、クライアント機側代理サーバ及びサーバ機側代理サーバのアプリケーションレベルの処理を複合して行えるため、非常に高いセキュリティを得ることができる。
【００９８】
また、送信データに上記パケットフィルタリング処理を行うとともに、同一のオペレーションシステムで作動する代理サーバにて、圧縮等の二次的処理を行うように構成している。このため、種々のアプリケーションソフトウエア、すなわち、種々のアプリケーション層レベルのプロトコルに対応することが可能となる。
【００９９】
さらに、クライアント機側代理サーバは、クライアント機の特定の通信ポートのみを待ち受け状態とするため、外部からの不正な侵入の危険性を低下させることができる。
【０１００】
また、一見したところでは、クライアント機側代理サーバとサーバ機側代理サーバ間のデータの授受と認識できるため、不正な侵入者がクライアント機側アプリケーションレベルまで侵入することは極めて困難である。また、本システムでは、クライアント機にのみフィルタドライバを設けることにより、セキュリティを格段に高めることができる。
【０１０１】
しかも、クライアント機側とサーバ機側に代理サーバを設けているため、独自のプロトコル処理を容易に行うことが可能となり、セキュリティ性をさらに高めることができる。この結果、上記システムを用いることにより、非常にセキュリティ性の高いプライベートバーチャルネットワークを構成することが可能となる。
【０１０２】
本願発明は、上述の実施の形態に限定されることはない。実施の形態では、一つのクライアント機と一つのサーバ機との間の情報交換に本願発明を適用したが、複数のクライアントと一つのサーバ間の情報通信に本願発明を適用できる。また、一つのサーバ側代理サーバを設けたが、クライアントあるいはグループクライアントに応じて複数のサーバ側代理サーバを設けることもできる。
【０１０３】
また、実施の形態では、クライアント機側代理サーバから送信されるすべての通信データをクライアント機側代理サーバに戻し転送するように構成したが、アプリケーションソフトウエアや送信先に応じて、フィルタドライバを通過させて、上記代理サーバを介さずに通信できるように設定することもできる。
【図面の簡単な説明】
【０１０４】
【図１】本願発明に係るデータ通信方法の全体構成を示す図である。
【図２】送信されるデータの構造を示す図である。
【図３】パケットヘッダの概要を示す図である。
【図４】変換テーブルの一例を示す図である。
【図５】クライアント機における送信データの流れを示す図である。
【図６】クライアント機における受信データの流れを示す図である。
【図７】クライアント機における送信データの取り扱い示すフローチャートである。
【図８】サーバ側代理サーバ機及びサーバ機における送信データの取り扱いを示すフローチャートである。
【図９】サーバ機及びサーバ機側代理サーバ機における応答データの取り扱いを示すフローチャートである。
【図１０】クライアント機における応答データ応答データの取り扱いを示すフローチャートである。
【図１１】パケットヘッダの変遷を示す図である。
【図１２】パケットヘッダの変遷を示す図である。
【符号の説明】
【０１０５】
１クライアント機
３サーバ機側代理サーバ機
４インターネット
５クライアント機側アプリケーションソフトウエア
６クライアント機側代理サーバ
１０フィルタドライバ
２２サーバ機側アプリケーションソフトウエア
【図１】
0004700473.tif 000002
【図２】
0004700473.tif 000003
【図３】
0004700473.tif 000004
【図４】
0004700473.tif 000005
【図５】
0004700473.tif 000006
【図６】
0004700473.tif 000007
【図７】
0004700473.tif 000008
【図８】
0004700473.tif 000009
【図９】
0004700473.tif 000010
【図１０】
0004700473.tif 000011
【図１１】
0004700473.tif 000012
【図１２】
0004700473.tif 000013