(57)【特許請求の範囲】
【請求項１】
基地局と、
前記基地局と通信可能な第１端末と、
前記基地局と通信可能な第２端末と、
を備え、前記第１端末と、前記第２端末との間で通信を行う通信システムにおいて、
前記第１端末は、
通信相手である前記第２端末へのＶＰＮ接続要求を前記基地局に送信する手段と、
前記基地局から、前記第１端末用の第１端末ＶＰＮアドレスと、前記第２端末用の第２端末ＶＰＮアドレスと、を受信する手段と、
受信した前記第１端末ＶＰＮアドレスと前記第２端末ＶＰＮアドレスとを含むデータパケットを用いて、前記第２端末との間でＶＰＮ通信を実行する手段と、
を含み、
前記基地局は、
前記ＶＰＮ接続要求を受信した場合、前記ＶＰＮ接続要求を通信相手である前記第２端末に送信する手段と、
前記ＶＰＮ接続要求を受信した場合、前記第１端末とその通信相手である前記第２端末に対して、前記第１端末用の第１端末ＶＰＮアドレスと前記第２端末用の第２端末ＶＰＮアドレスとをそれぞれ生成し、前記第１端末に対して前記第１端末ＶＰＮアドレスを送信して付与し、前記第２端末に対して前記第２端末ＶＰＮアドレスを送信して付与するＶＰＮアドレス生成送信手段と、
前記第１端末ＶＰＮアドレスが付与された前記第１端末のデータパケットと前記第２端末のデータパケットとを連結してプロキシ転送するためのＶＰＮ通信の情報と、前記第２端末ＶＰＮアドレスが付与された前記第２端末のデータパケットと前記第１端末のデータパケットとを連結してプロキシ転送するためのＶＰＮ通信の情報と、が記述され、前記第１のＶＰＮ通信と前記第２のＶＰＮ通信とを中継するための中継テーブルと、
前記中継テーブルを参照して、前記第１端末が前記第２端末に送信する前記データパケットを、前記基地局内部に蓄積せずにそのまま、その通信相手である前記第２端末に中継する中継手段と、
を含むことを特徴とする通信システム。
【請求項２】
請求項１記載の通信システムにおいて、
前記第１端末及び第２端末は、ともに、
前記基地局に対してＴＣＰによる通信を要求するＴＣＰ接続要求を、前記基地局に送信する手段、
を含み、
前記基地局は、
前記ＴＣＰ接続要求を受信した場合、前記ＴＣＰ接続要求に基づき、前記ＴＣＰ接続要求を送信した前記第１端末または前記第２端末のＴＣＰと通信の相手先のＴＣＰとを連結してプロキシ転送するためのＶＰＮ通信の情報を前記中継テーブルに記述する手段、
を含み、
前記ＶＰＮアドレス生成送信手段は、前記ＶＰＮ接続要求を受信した場合、前記生成した第２端末ＶＰＮアドレスを、前記第２端末のＴＣＰと前記第１端末のＴＣＰとを連結してプロキシ転送するためのＶＰＮ通信の情報と対応させて前記中継テーブルに記述し、前記中継手段は、前記第２端末用ＶＰＮアドレスが対応するＶＰＮ通信の情報を含む前記中継テーブルの内容に基づいて、前記第１端末から前記第２端末へのＶＰＮ通信を、前記第２端末が利用するＶＰＮ通信に中継することを特徴とする通信システム。
【請求項３】
請求項１または２記載の通信システムにおいて、
前記第１端末ＶＰＮアドレスと、前記第２端末ＶＰＮアドレスと、はＩＰアドレスであることを特徴とする通信システム。
【請求項４】
請求項１から３のいずれか１項に記載の通信システムに用いられる前記第１端末として動作する端末装置において、
通信相手である前記第２端末へのＶＰＮ接続要求を前記基地局に送信する手段と、
前記基地局から、前記第１端末用の第１端末ＶＰＮアドレスと、前記第２端末用の第２端末ＶＰＮアドレスと、を受信する手段と、
受信した前記第１端末ＶＰＮアドレスと前記第２端末ＶＰＮアドレスとを含むデータパケットを用いて、前記第２端末との間でＶＰＮ通信を実行する手段と、
を含むことを特徴とする端末装置。
【請求項５】
請求項１又は２に記載の通信システムに用いられる前記基地局において、
前記ＶＰＮ接続要求を受信した場合、前記ＶＰＮ接続要求を通信相手である前記第２端末に送信する手段と、
前記ＶＰＮ接続要求を受信した場合、前記第１端末とその通信相手である前記第２端末に対して、前記第１端末用の第１端末ＶＰＮアドレスと前記第２端末用の第２端末ＶＰＮアドレスとをそれぞれ生成し、前記第１端末に対して前記第１端末ＶＰＮアドレスを送信して付与し、前記第２端末に対して前記第２端末ＶＰＮアドレスを送信して付与するＶＰＮアドレス生成送信手段と、
前記第１端末ＶＰＮアドレスが付与された前記第１端末のデータパケットと前記第２端末のデータパケットとを連結してプロキシ転送するためのＶＰＮ通信の情報と、前記第２端末ＶＰＮアドレスが付与された前記第２端末のデータパケットと前記第１端末のデータパケットとを連結してプロキシ転送するためのＶＰＮ通信の情報と、が記述され、前記第１のＶＰＮ通信と前記第２のＶＰＮ通信とを中継するための中継テーブルと、
前記中継テーブルを参照して、前記第１端末が前記第２端末に送信する前記データパケットを、前記基地局内部に蓄積せずにそのまま、その通信相手である前記第２端末に中継する中継手段と、
を含むことを特徴とする基地局。
【請求項６】
基地局と、
前記基地局と通信可能な第１端末と、
前記基地局と通信可能な第２端末と、
を備え、前記第１端末と、前記第２端末との間で通信を行う通信システムにおける通信方法において、
前記第１端末が、通信相手である前記第２端末へのＶＰＮ接続要求を前記基地局に送信するステップと、
前記第１端末が、前記基地局から、前記第１端末用の第１端末ＶＰＮアドレスと、前記第２端末用の第２端末ＶＰＮアドレスと、を受信するステップと、
前記第１端末が、受信した前記第１端末ＶＰＮアドレスと前記第２端末ＶＰＮアドレスとを含むデータパケットを用いて、前記第２端末との間でＶＰＮ通信を実行するステップと、
を含み、さらに、
前記基地局が、前記ＶＰＮ接続要求を受信した場合、前記ＶＰＮ接続要求を通信相手である前記第２端末に送信するステップと、
前記基地局が、前記ＶＰＮ接続要求を受信した場合、前記第１端末とその通信相手である前記第２端末に対して、前記第１端末用の第１端末ＶＰＮアドレスと前記第２端末用の第２端末ＶＰＮアドレスとをそれぞれ生成し、前記第１端末に対して前記第１端末ＶＰＮアドレスを送信して付与し、前記第２端末に対して前記第２端末ＶＰＮアドレスを送信して付与するＶＰＮアドレス生成送信ステップと、
前記基地局が、前記第１端末ＶＰＮアドレスが付与された前記第１端末のデータパケットと前記第２端末のデータパケットとを連結してプロキシ転送するためのＶＰＮ通信の情報と、前記第２端末ＶＰＮアドレスが付与された前記第２端末のデータパケットと前記第１端末のデータパケットとを連結してプロキシ転送するためのＶＰＮ通信の情報と、が記述され、前記第１のＶＰＮ通信と前記第２のＶＰＮ通信とを中継するための中継テーブルを参照して、前記第１端末が前記第２端末に送信する前記データパケットを、前記基地局内部に蓄積せずにそのまま、その通信相手である前記第２端末に中継する中継ステップと、
を含むことを特徴とする通信方法。
【請求項７】
請求項６記載の通信方法において、
前記第１端末及び第２端末が、前記基地局に対してＴＣＰによる通信を要求するＴＣＰ接続要求を、前記基地局に送信するステップと、
前記基地局が、前記ＴＣＰ接続要求を受信した場合、前記ＴＣＰ接続要求に基づき、前記ＴＣＰ接続要求を送信した前記第１端末または前記第２端末のＴＣＰと通信の相手先のＴＣＰとを連結してプロキシ転送するためのＶＰＮ通信の情報を前記中継テーブルに記述するステップと、
を含み、
前記ＶＰＮアドレス生成送信ステップにおいて、前記基地局は、前記ＶＰＮ接続要求を受信した場合、前記生成した第２端末ＶＰＮアドレスを、前記第２端末のＴＣＰと前記第１端末のＴＣＰとを連結してプロキシ転送するためのＶＰＮ通信の情報と対応させて前記中継テーブルに記述し、
前記中継ステップにおいて、前記基地局は、前記第２端末用ＶＰＮアドレスが対応するＶＰＮ通信の情報を含む前記中継テーブルの内容に基づいて、前記第１端末から前記第２端末へのＶＰＮ通信を、前記第２端末が利用するＶＰＮ通信に中継することを特徴とする通信方法。
【請求項８】
請求項１から３のいずれか１項に記載の通信システムに用いられる第１端末としてコンピュータを動作させるコンピュータプログラムにおいて、
通信相手である前記第２端末へのＶＰＮ接続要求を前記基地局に送信する手順と、
前記基地局から、前記第１端末用の第１端末ＶＰＮアドレスと、前記第２端末用の第２端末ＶＰＮアドレスと、を受信する手順と、
受信した前記第１端末ＶＰＮアドレスと前記第２端末ＶＰＮアドレスとを含むデータパケットを用いて、前記第２端末との間でＶＰＮ通信を実行する手順と、
を、前記コンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項９】
請求項１から３のいずれか１項に記載の通信システムに用いられる前記基地局としてコンピュータを動作させるコンピュータプログラムにおいて、
前記ＶＰＮ接続要求を受信した場合、前記ＶＰＮ接続要求を通信相手である前記第２端末に送信する手順と、
前記ＶＰＮ接続要求を受信した場合、前記第１端末とその通信相手である前記第２端末に対して、前記第１端末用の第１端末ＶＰＮアドレスと前記第２端末用の第２端末ＶＰＮアドレスとをそれぞれ生成し、前記第１端末に対して前記第１端末ＶＰＮアドレスを送信して付与し、前記第２端末に対して前記第２端末ＶＰＮアドレスを送信して付与するＶＰＮアドレス生成送信手順と、
前記第１端末ＶＰＮアドレスが付与された前記第１端末のデータパケットと前記第２端末のデータパケットとを連結してプロキシ転送するためのＶＰＮ通信の情報と、前記第２端末ＶＰＮアドレスが付与された前記第２端末のデータパケットと前記第１端末のデータパケットとを連結してプロキシ転送するためのＶＰＮ通信の情報と、が記述され、前記第１のＶＰＮ通信と前記第２のＶＰＮ通信とを中継するための中継テーブルを参照して、前記第１端末が前記第２端末に送信する前記データパケットを、前記基地局内部に蓄積せずにそのまま、その通信相手である前記第２端末に中継する中継手順と、
を、前記コンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末間で通信を行う端末間通信システムに関する。特に、サーバを利用せずに通信を行うことができる通信システムを実現するフレームワークに関する。
【背景技術】
【０００２】
スマートホン（Smartphone）や携帯通信端末等の端末を利用して通信を行うシステムは広く利用されている。例えば、リモートアクセス（Remote Access）を利用した遠隔地から、所定のサイトにアクセスするシステムが知られている。  
従来の「リモートアクセス」技術は、端末からインターネット（Internet）を越えて、所定のサイトにある社内ＬＡＮやイントラネットへのアクセスを実現するための技術全般を含むものである。例えば、アクセスを許可するための認証技術や、ＶＰＮ（Virtual Private Network）技術（暗号化技術等）を実現し、提供するための技術全般を含む。
【０００３】
このリモートアクセス技術は、サービスを利用しようとする端末が、当該サービスを集約するために設けられたサーバに対して、安全に接続するための運用に使われる場合が多い。
【０００４】
従来の接続形態１の１（リモートアクセス）
図５は、従来の端末間通信の原理を示す説明図である。
【０００５】
図５において、端末３００は、インターネット３０２を介して、所定のサイト３０４に接続している。端末３００は、ＲＡＳ（Remote Access Server）３０６（として機能する基地局）に接続することによってサイト３０４に接続する。このＲＡＳを用いた接続に際しては、図５等と同様に、通信の安全のため、暗号化が行われている。また、同様に、端末認証が実行され、認証が成功した端末３００のみが接続できる。
【０００６】
サイト３０４は、図５、図７等と同様に、ｌｏｃａｌ  ＩＰ環境であり、安全なセキュリティーゾーンである。また、同様に、このセキュリティーゾーンはＬＡＮ／ＩＮＴＲＡＮＥＴで構成されている。ＲＡＳ３０６は、基地局を兼ねている場合が多い。以下、基地局がＲＡＳ３０６である場合を前提として説明を行う。  
サイト３０４中にはサイト内の端末３０８が位置している。図５に示すように、端末３００は、サイト内の端末３０８と、ＲＡＳ３０６を介して接続することができる。
【０００７】
図５においては、ＲＡＳ３０６は、端末３００と端末３０８とのＴＣＰ（Transmission Control Protocol）セッションを相互接続する際に、暗号と平文とを相互に変換する。すなわち、ＲＡＳ３０６は、端末３００からの暗号化されたパケットを復号化して、平文化したパケットを端末３０８に送信する。逆に、ＲＡＳ３０６は、端末３０８からの平文のパケットを暗号化して、暗号化パケットを端末３００にインターネット３０２を介して送信する。
【０００８】
このように、従来のリモートアクセスにおいては、ＲＡＳ３０６がパケットの暗号化・復号化を実行している。特に、ＲＡＳ３０６は、外部の端末３００との間の通信に、暗号化／端末認証３０３を適用することによって、セキュリティーを担保しようとしている。
【０００９】
従来の接続形態１の２（ＲＡＳ技術を利用したセキュアな端末間通信）
図６は、ＲＡＳ技術を応用してセキュアな端末間の通信環境を実現した場合の動作を説明する図である。
【００１０】
図６において、端末４００は、インターネット４０２を介して、サイト４０４に接続している。端末４００は、ＲＡＳ４０６（として機能する基地局）に接続することによってサイト４０４に接続する。この接続に際しては、図５等と同様に、通信の安全のため、暗号化が行われている。また、同様に、端末認証が実行され、認証が成功した端末４００のみが接続できる点も同様である。
【００１１】
サイト４０４は、図５と同様に、ｌｏｃａｌ  ＩＰ環境の下、ＬＡＮ／ＩＮＴＲＡＮＥＴで構成されている安全なセキュリティーゾーンである。また、ＲＡＳ４０６は、図５と同様に、いわゆる基地局でもある。サイト４０４中にはサイト内の端末４１０が位置している。図６に示すように、端末４００は、サイト内の端末４１０と、ＲＡＳ４０６を介して接続することができる。  
図６においては、ＲＡＳ４０６は、セキュアな端末間通信を実現するために、サイト４０４内の端末４１０との間でも暗号通信を実行している。すなわち、ＲＡＳ４０６は、端末４１０に対しても、端末４００と同様に、暗号化／端末認証を実行している。
【００１２】
このような暗号通信において、ＲＡＳ４０６は、端末４００と端末４１０とのＴＣＰセッションを相互接続している。ここで、そのような相互の接続をするためには、ＲＡＳ４０６は、受信したデータを一旦復号化して内容を確認している。すなわち、ＲＡＳ４０６は、端末４００からの暗号化されたパケットを復号化して、平文化し、宛先を確認後、当該パケットを、その宛先である端末４１０に転送する。逆に、ＲＡＳ４０６は、端末４１０からの暗号化されたパケットを受け取ると、そのパケットを復号化して、平文を得て内容を確認する。その後、ＲＡＳ４０６は、当該平文のパケットを再び暗号化して、暗号化パケットを端末４００にインターネット４０２を介して送信する。  
このように、従来のＲＡＳ技術を利用してセキュアな端末間通信を実現する場合は、ＲＡＳ４０６が転送するパケットを内部で一旦復号するという動作を実行している。
【００１３】
ＲＡＳの詳細な動作の例
図７は、携帯情報端末が、ＲＡＳ（Remote Access Server）を利用して所定のサーバにアクセスするより詳細な動作を示す説明図である。図７において、携帯情報端末５１０ａ、５１０ｂ、５１０ｃは、所定のサービスを利用するためにサイト５００に含まれるサーバ５０４ａ、５０４ｂにアクセスする。例えば、サーバ５０４ａは、メールサーバであり、サーバ５０４ｂは、掲示板サービスである。携帯情報端末５１０のユーザは、携帯情報端末５１０を利用して、インターネット５２０を介して、サーバ５０４にアクセスして所定のサービスを利用する。  
この場合、携帯情報端末５１０からサイト５００へのアクセスは、ＲＡＳ５０２を介して行われる。このＲＡＳ５０２は、サイト５００に含まれる設備であり、外部からのリモートアクセスを受け付けて、サイト５００内のネットワークに接続するサービスを実行するサーバである。
【００１４】
このような接続によって、例えば、携帯情報端末５１０ａは、所定のメッセージをサーバ５０４ｂに書き込むことができ、他の携帯情報端末５１０ｂは、そのサーバ５０４ｂにアクセスし、書き込まれたメッセージを読み出すことができる。従来の通信システムにおいては、このように必ずサーバ５０４ａ（５０４ｂ）を介してデータやメッセージの送受信が行われている。
【００１５】
従来の接続形態２（ＬＡＮ間接続）
図８には、いわゆるＬＡＮ間接続と呼ばれる接続形態を有する通信システムの例が示されている。この図に示すように、ＬＡＮ６３０ａと、ＬＡＮ６３０ｂとを、インターネット６２０を介して相互に接続する。ＬＡＮ６３０ａは、ルーター（ＲＴ）６４０ａを介してインターネット６２０に接続している。また、ＬＡＮ６３０ｂは、ルーター（ＲＴ）６４０ｂを介してインターネット６２０の接続している。  
ルーター６４０ａと、ルーター６４０ｂとの間ではいわゆるＶＰＮによるトンネル６４２が形成されており、このＶＰＮトンネル６４２を介してＬＡＮ６３０ａとＬＡＮ６３０ｂとは接続されており、相互にアクセスすることが可能となる。
【００１６】
図８では省略して図示されていないが、ＬＡＮ６３０ａやＬＡＮ６３０ｂの内部には、図７等で説明したように種々のサーバが含まれており、互いに相手方のＬＡＮ６３０ａ（６３０ｂ）中のサーバにアクセすることができる。また、インターネット６２０中には、種々のインターネットサービスプロバイダの種々のサーバ６４４ａ、６４４ｂが含まれている。  
このような接続によって、ＬＡＮ６３０ａ又はＬＡＮ６３０ｂのいずれかに属する端末も、双方のＬＡＮ６３０に含まれるサーバにアクセスすることができ、図４で説明したように、当該サーバを介して、他の端末とデータやメッセージの送受信を行うことができる。
【００１７】
先行特許文献
例えば、下記特許文献１には、企業網に対してユーザ端末からリモートＶＰＮアクセスを行う際の、改良された技術が開示されている。特に、ユーザ端末からリモートＶＰＮアクセスを行う場合に行われる二重のＩＰｓｅｃ処理の軽減を図ることができる仕組みが開示されている。  
また、下記特許文献２には、保守パソコンからＲＡＳ（Remote Ａccess Service）装置にアクセスする際、ＩＳＤＮ回線を介してインターネット接続に関する情報を送受信し、それらの情報を用いて、保守パソコンとＲＡＳ装置とが相互にインターネット接続する技術が開示されている。  
また、下記特許文献３には、第１のＬＡＮと、第２のＬＡＮとの間でメディア転送を行う仕組みが開示されている。特に、第１のＬＡＮ中のメディアレンダラが、第２のＬＡＮ中のメディアサーバにＶＰＮトンネルを介してアクセスする技術が開示されている。  
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２０１０−２０６４４２号公報
【特許文献２】特開２０１０−２０６６５７号公報
【特許文献３】特表２０１２−５２０００６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかし、インターネット上のサーバにデータを残してデータの交換やデータの共有を行う従来の手法では、サーバ側の運用によっては、セキュリティーの確保が困難な場合も想定される。すなわち、安全性／信頼性が担保できない運用がなされているサーバを利用したアプリケーションに対しては、上述したリモートアクセスの仕組みだけで、当該サービスを提供することが安全上の観点からは妥当とは言えない。
【００２０】
本願発明は、上記課題を解決するためになされたものであり、その目的は、サーバレスでデータを残さずに通信するための通信システムを実現するための仕組みを提供することである。
【課題を解決するための手段】
【００２１】
本願発明者らは、上記課題を解決するために、サーバレスでデータを残さずに通信するためのゲートウェイ（Gateway）基地局（多段中継に対応）、及び、複数端末上のアプリケーション以下の端末認証ＶＰＮ用のフレームワーク技術や、当該フレームワークを実現する端末等を開発し、本願発明をなすに至った。  
なお、本願発明は、上記フレームワークの上で提供されるアプリケーションや、その運用方法については何ら制限はない。
【００２２】
特に、本発明は、後に詳述するように、ＴＣＰセッションにおける端末間ＶＰＮ構築方法を実現するものである。その結果、サーバレスであるため、中継時にＶＰＮ安全性を向上させることができるという特徴を有する。さらに、多段中継しても、端末間ＶＰＮをより安全に提供することができるという特徴を備えている。  
本発明は、具体的には、下記のような手段を採用する。
【００２３】
（１）本発明は、上記課題を解決するために、基地局と、前記基地局と通信可能な第１端末と、前記基地局と通信可能な第２端末と、を備え、前記第１端末と、前記第２端末との間で通信を行う通信システムにおいて、前記第１端末は、通信相手である前記第２端末へのＶＰＮ接続要求を前記基地局に送信する手段と、前記ゲートウェイ基地局から、前記第１端末用の第１端末ＶＰＮアドレスと、前記第２端末用の第２端末ＶＰＮアドレスと、を受信する手段と、受信した前記第１端末ＶＰＮアドレスと前記第２端末ＶＰＮアドレスとを含むデータパケットを用いて、前記第２端末との間でＶＰＮ通信を実行する手段と、を含み、前記基地局は、前記ＶＰＮ接続要求を受信した場合、前記ＶＰＮ接続要求を通信相手である前記第２端末に送信する手段と、前記ＶＰＮ接続要求を受信した場合、前記第１端末とその通信相手である前記第２端末に対して、前記第１端末用の第１端末ＶＰＮアドレスと前記第２端末用の第２端末ＶＰＮアドレスとをそれぞれ生成し、前記第１端末に対して前記第１端末ＶＰＮアドレスを送信して付与し、前記第２端末に対して前記第２端末ＶＰＮアドレスを送信して付与するＶＰＮアドレス生成送信手段と、前記第１端末ＶＰＮアドレスが付与された前記第１端末が利用する第１のＶＰＮ通信の情報と、前記第２端末ＶＰＮアドレスが付与された前記第２端末が利用する第２のＶＰＮ通信の情報と、が記述され、前記第１のＶＰＮ通信と前記第２のＶＰＮ通信とを中継するための中継テーブルと、前記中継テーブルを参照して、前記第１端末が前記第２端末に送信する前記データパケットを、そのまま、その通信相手である前記第２端末に中継する中継手段と、を含むことを特徴とする通信システムである。
【００２４】
（２）また、本発明は、（１）記載の通信システムにおいて、前記第１端末及び第２端末は、ともに、前記基地局に対してＴＣＰによる通信を要求するＴＣＰ接続要求を、前記基地局に送信する手段、を含み、前記基地局は、前記ＴＣＰ接続要求を受信した場合、前記ＴＣＰ接続要求に基づき、前記ＴＣＰ接続要求を送信した前記第１端末または前記第２端末が利用するＶＰＮ通信の情報を前記中継テーブルに記述する手段、を含み、前記ＶＰＮアドレス生成送信手段は、前記ＶＰＮ接続要求を受信した場合、前記生成した第２端末ＶＰＮアドレスを、前記第２端末が利用するＶＰＮ通信の情報と対応させて前記中継テーブルに記述し、前記中継手段は、前記第２端末用ＶＰＮアドレスが対応するＶＰＮ通信の情報を含む前記中継テーブルの内容に基づいて、前記第１端末から前記第２端末へのＶＰＮ通信を、前記第２端末が利用するＶＰＮ通信に中継することを特徴とする通信システムである。
【００２５】
（３）また、本発明は、（１）または（２）記載の通信システムにおいて、前記第１端末ＶＰＮアドレスと、前記第２端末ＶＰＮアドレスと、はＩＰアドレスであることを特徴とする通信システムである。
【００２６】
（４）また、本発明は、（１）から（３）のいずれか１項に記載の通信システムに用いられる前記第１端末として動作する端末装置において、通信相手である前記第２端末へのＶＰＮ接続要求を前記基地局に送信する手段と、前記ゲートウェイ基地局から、前記第１端末用の第１端末ＶＰＮアドレスと、前記第２端末用の第２端末ＶＰＮアドレスと、を受信する手段と、受信した前記第１端末ＶＰＮアドレスと前記第２端末ＶＰＮアドレスとを含むデータパケットを用いて、前記第２端末との間でＶＰＮ通信を実行する手段と、を含むことを特徴とする端末装置である。
【００２７】
（５）また、本発明は、（１）から（３）のいずれか１項に記載の通信システムに用いられる前記基地局において、前記ＶＰＮ接続要求を受信した場合、前記ＶＰＮ接続要求を通信相手である前記第２端末に送信する手段と、前記ＶＰＮ接続要求を受信した場合、前記第１端末とその通信相手である前記第２端末に対して、前記第１端末用の第１端末ＶＰＮアドレスと前記第２端末用の第２端末ＶＰＮアドレスとをそれぞれ生成し、前記第１端末に対して前記第１端末ＶＰＮアドレスを送信して付与し、前記第２端末に対して前記第２端末ＶＰＮアドレスを送信して付与するＶＰＮアドレス生成送信手段と、前記第１端末ＶＰＮアドレスが付与された前記第１端末が利用する第１のＶＰＮ通信の情報と、前記第２端末ＶＰＮアドレスが付与された前記第２端末が利用する第２のＶＰＮ通信の情報と、が記述され、前記第１のＶＰＮ通信と前記第２のＶＰＮ通信とを中継するための中継テーブルと、前記中継テーブルを参照して、前記第１端末が前記第２端末に送信する前記データパケットを、そのまま、その通信相手である前記第２端末に中継する中継手段と、を含むことを特徴とする基地局である。
【００２８】
（６）本発明は、上記課題を解決するために、基地局と、前記基地局と通信可能な第１端末と、前記基地局と通信可能な第２端末と、を備え、前記第１端末と、前記第２端末との間で通信を行う通信システムにおける通信方法において、前記第１端末が、通信相手である前記第２端末へのＶＰＮ接続要求を前記基地局に送信するステップと、前記第１端末が、前記ゲートウェイ基地局から、前記第１端末用の第１端末ＶＰＮアドレスと、前記第２端末用の第２端末ＶＰＮアドレスと、を受信するステップと、前記第１端末が、受信した前記第１端末ＶＰＮアドレスと前記第２端末ＶＰＮアドレスとを含むデータパケットを用いて、前記第２端末との間でＶＰＮ通信を実行するステップと、前記基地局が、前記ＶＰＮ接続要求を受信した場合、前記ＶＰＮ接続要求を通信相手である前記第２端末に送信するステップと、前記基地局が、前記ＶＰＮ接続要求を受信した場合、前記第１端末とその通信相手である前記第２端末に対して、前記第１端末用の第１端末ＶＰＮアドレスと前記第２端末用の第２端末ＶＰＮアドレスとをそれぞれ生成し、前記第１端末に対して前記第１端末ＶＰＮアドレスを送信して付与し、前記第２端末に対して前記第２端末ＶＰＮアドレスを送信して付与するＶＰＮアドレス生成送信ステップと、前記基地局が、前記第１端末ＶＰＮアドレスが付与された前記第１端末が利用する第１のＶＰＮ通信の情報と前記第２端末ＶＰＮアドレスが付与された前記第２端末が利用する第２のＶＰＮ通信の情報とが記述され、前記第１のＶＰＮ通信と前記第２のＶＰＮ通信とを中継するための中継テーブルを参照して、前記第１端末が前記第２端末に送信する前記データパケットを、そのまま、その通信相手である前記第２端末に中継する中継ステップと、を含むことを特徴とする通信方法である。
【００２９】
（７）また、本発明は、（６）記載の通信方法において、前記第１端末及び第２端末が、前記基地局に対してＴＣＰによる通信を要求するＴＣＰ接続要求を、前記基地局に送信するステップと、前記基地局が、前記ＴＣＰ接続要求を受信した場合、前記ＴＣＰ接続要求に基づき、前記ＴＣＰ接続要求を送信した前記第１端末または前記第２端末が利用するＶＰＮ通信の情報を前記中継テーブルに記述するステップと、を含み、前記ＶＰＮアドレス生成送信ステップにおいて、前記基地局は、前記ＶＰＮ接続要求を受信した場合、前記生成した第２端末ＶＰＮアドレスを、前記第２端末が利用するＶＰＮ通信の情報と対応させて前記中継テーブルに記述し、前記中継ステップにおいて、前記基地局は、前記第２端末用ＶＰＮアドレスが対応するＶＰＮ通信の情報を含む前記中継テーブルの内容に基づいて、前記第１端末から前記第２端末へのＶＰＮ通信を、前記第２端末が利用するＶＰＮ通信に中継することを特徴とする通信方法である。
【００３０】
（８）また、本発明は、（１）から（３）のいずれか１項に記載の通信システムに用いられる第１端末としてコンピュータを動作させるコンピュータプログラムにおいて、通信相手である前記第２端末へのＶＰＮ接続要求を前記基地局に送信する手順と、前記ゲートウェイ基地局から、前記第１端末用の第１端末ＶＰＮアドレスと、前記第２端末用の第２端末ＶＰＮアドレスと、を受信する手順と、受信した前記第１端末ＶＰＮアドレスと前記第２端末ＶＰＮアドレスとを含むデータパケットを用いて、前記第２端末との間でＶＰＮ通信を実行する手順と、を、前記コンピュータに実行させることを特徴とするコンピュータプログラムである。
【００３１】
（９）また、本発明は、（１）から（３）のいずれか１項に記載の通信システムに用いられる前記基地局としてコンピュータを動作させるコンピュータプログラムにおいて、前記ＶＰＮ接続要求を受信した場合、前記ＶＰＮ接続要求を通信相手である前記第２端末に送信する手順と、前記ＶＰＮ接続要求を受信した場合、前記第１端末とその通信相手である前記第２端末に対して、前記第１端末用の第１端末ＶＰＮアドレスと前記第２端末用の第２端末ＶＰＮアドレスとをそれぞれ生成し、前記第１端末に対して前記第１端末ＶＰＮアドレスを送信して付与し、前記第２端末に対して前記第２端末ＶＰＮアドレスを送信して付与するＶＰＮアドレス生成送信手順と、前記第１端末ＶＰＮアドレスが付与された前記第１端末が利用する第１のＶＰＮ通信の情報と、前記第２端末ＶＰＮアドレスが付与された前記第２端末が利用する第２のＶＰＮ通信の情報と、が記述され、前記第１のＶＰＮ通信と前記第２のＶＰＮ通信とを中継するための中継テーブルを参照して、前記第１端末が前記第２端末に送信する前記データパケットを、そのまま、その通信相手である前記第２端末に中継する中継手順と、を、前記コンピュータに実行させることを特徴とするコンピュータプログラムである。
【発明の効果】
【００３２】
このように、本発明によれば、サーバ等を介さずに通信を行うことができる通信システムを実現することができる。
【図面の簡単な説明】
【００３３】
【図１】本実施形態に係る通信システムの原理を示す説明図である。
【図２】本実施形態に係る通信システムのフレームワークの機能の構成を示す説明図である。
【図３】本実施形態の通信システムの端末同士の通信を行う場合の動作を説明するタイムチャートである。
【図４】本実施形態において、ゲートウェイ基地局が多段になった場合の中継が行われている様子を示す説明図である。
【図５】リモートアクセスを用いた従来の通信システムの概念を示す説明図である。
【図６】リモートアクセスを用いたセキュアな端末間通信を実現する従来の通信システムの構成を示す説明図である。
【図７】リモートアクセスを用いた従来の通信システムの動作を示す説明図である。
【図８】ＬＡＮ間接続を実現する従来の通信システムの構成を示す説明図である。
【発明を実施するための形態】
【００３４】
以下、本発明の好適な実施形態に係る通信システム１０を、図面に基づき説明する。
【００３５】
Ａ．実施形態１
第１．構成の概要
図１は、本実施形態１の端末間通信を実現するための原理を示す説明図である。
【００３６】
従来の技術の欄で説明した図５や図６と同様に、端末１は、インターネット３を介して、所定のサイト５に接続している。端末１は、基地局７に接続することによってサイト５に接続する。この接続に際しては、図５等と同様に、通信の安全のため、暗号化が行われている。また、同様に、端末認証が実行され、認証が成功した端末１のみが接続できることは図５等と同様である。
【００３７】
本実施形態１においては、端末１がインターネット３を介して接続する例を示すが、他の通信手法を用いて接続されていてもよい。  
サイト５は、図５、図６等と同様に、ｌｏｃａｌ  ＩＰ環境であり、安全なセキュリティーゾーンである。また、同様に、このセキュリティーゾーンはＬＡＮ／ＩＮＴＲＡＮＥＴで構成されている。この基地局７は、ＲＡＳを兼ねていてもよい。以下、基地局７は、ＲＡＳ機能を備えているものとして説明を行う。サイト５中にはサイト内の端末９が位置している。図１に示すように、端末１は、この端末９と、基地局７を介して接続することができる。なお、本実施形態１においては、サイト５はｌｏｃａｌ  ＩＰ環境の例を示すが、他のネットワーク、他の環境で構成されていてもよい。
【００３８】
また、図１では、端末１は、独立した端末として描かれているが、この端末１自体が、サイト５等の所定のＬｏｃａｌ  ＩＰ環境内の端末１でもよい。その場合は、端末１は、端末９と同様に、所定の基地局を介してインターネット３に接続し、インターネット３を介して基地局７に接続する。同様に、端末９も、サイト５内の端末９として描かれているが、端末１と同様に、所定のサイトに属さない独立した端末９であってもよい。  
図１においては、基地局７が、２個の端末１、端末９から送信されるＴＣＰセッションを相互接続している。本実施形態において特徴的なことは、基地局７がＴＣＰセッションの暗号を、基地局７内では復号せず、暗号文のまま転送していることである。
【００３９】
このように、本実施形態１において特徴的なことの一つは、相互接続に際して基地局７内で暗号化されたデータ（パケット）を復号化をしないで（平文に変換しないで）相互にデータを送受信していることである。この結果、平文に変換していないので、データを第三者によって読み取られる恐れをより少なくすることができる。したがって、本実施形態１によれば、従来の様々な相互接続技術に比べて、端末間通信のセキュリティーをより的確に確保することができ、安全性をより向上させることができる。  
なお、本実施形態１（２）におけるデータ（パケット）は、請求の範囲の「データパケット」の好適な一例である。請求の範囲の「データパケット」は、通信の単位をなすデータの集合であればよく、いわゆる、データやパケットだけでなく、「フレーム」、「データグラム」、「メッセージ」等と呼ばれるデータの集合体も含まれる。
【００４０】
図１に示すように、本実施形態１においては、従来技術の図５等と同様に、端末１向けに暗号化／端末認証技術４ａを適用しているが、これに加えて、端末９向けにも端末間認証技術４ｂをサポートしている。
【００４１】
この結果、本実施形態１においては、端末間認証技術４ｂと、基地局７が提供するＴＣＰセッションスイッチング技術を組み合わせることによって、Ｅｎｄ−Ｅｎｄ（端末−端末）でのセキュア通信環境を構築できる。なお、本実施形態１において、サイト５はＬｏｃａｌ  ＩＰ環境であり、例えばＬＡＮ／Ｉｎｔｒａｎｅｔによってセキュリティーゾーンが形成されている。  
また、例えば、サイト５のこのセキュリティーゾーン内において、端末９が移動してそのＩＰのアドレスが変化しても、通信環境を維持することが可能である。この動作の詳細は後述する。
【００４２】
第２．フレームワークの詳細
図２には、本実施形態１の通信システム１０の機能のフレームワークを示す説明図が示されている。図２に示すように、この通信システム１０においては、第１端末１２ａと、第２端末１２ｂとが、ともにゲートウェイ基地局１８に接続している。図１で説明したように、接続の形態としては、インターネットによる接続やＬＡＮによる接続を用いることができるが、他の種々の通信手段で接続されていてもよい。  
なお、第１端末１２ａと第２端末１２ｂとは、請求の範囲の端末装置の好適な一例に相当する。
【００４３】
第１端末１２ａ、及び第２端末１２ｂとは、例えば携帯情報端末であり、携帯電話や、スマートフォン、タブレット端末、ノートパソコン等である。ゲートウェイ基地局１８は、各端末を収容し、各端末からネットワーク（不図示）への接続を行う基地局である。この基地局は、例えば、携帯電話網の基地局であってもよいし、また、インターネットへ接続するためのＷｉ−Ｆｉアクセス基地局であってもよい。第１端末１２ａや第２端末１２ｂ等の端末が接続できればどのような基地局でもよいし、その接続形態も問わない。
【００４４】
図２では省略されているが、ゲートウェイ基地局１８には、接続する（上位の）ネットワークとして、インターネット、地域ＩＰ網を接続することができる。また、携帯電話網等が接続するネットワークとして利用してもよい。  
なお、ゲートウェイ基地局１８は、請求の範囲の基地局の好適な一例に相当する。
【００４５】
本実施形態１において特徴的な事項は、上記目的のために、端末認証ＶＰＮ用のフレームワーク２４を実現していることである。このフレームワーク２４によって、第１端末１２ａと第２端末１２ｂとは、サーバを介さずに通信を行うことが可能である。すなわち、サーバに、データやメッセージを蓄積することなく、データやメッセージを送受信することが可能になる。
【００４６】
これに対して、従来の通信システムにおいては、ゲートウェイ基地局１８の上位に所定のサーバが配置されており、このサーバを介してデータの送受信が行われている。第１端末１２ａ等は、従来は、このサーバにアクセスし、所定のデータを格納し、他のサーバ（例えば第２端末１２ｂ）がサーバにアクセスして、その所定のデータを取得するという流れが一般的な従来のデータの送受信の流れである。  
本実施形態１は、サーバを用いずにゲートウェイ基地局１８が例えばＴＣＰ（ＶＰＮ）をそのまま通信相手の端末に転送することによって、サーバを利用しない（サーバにデータを蓄積しない）データ通信システムを実現しようとするものである。ＶＰＮ同士を連結させることによって、端末同士は、同一ドメインにいるかのように通信を行うことが可能である。
【００４７】
（２−１）端末（第１端末１２ａ、第２端末１２ｂ）の機能構成
図２に示すように、第１端末１２ａは、さまざまなアプリケーション１４ａと、端末認証ＶＰＮ用のフレームワーク２４を実現するための端末側フレームワーク１６ａと、を備えている。
【００４８】
ここで、アプリケーション１４ａとは、アプリケーションプログラムを意味し、第１端末１２ａ中のプロセッサ（例えば、ＣＰＵ）が当該アプリケーションプログラムを実行することによって、ユーザに種々のサービスを提供する。
【００４９】
また、図２中の端末側フレームワーク１６ａとは、上述した端末認証ＶＰＮ用のフレームワーク２４を実現するための端末側のフレームワークであり、端末側フレームワークプログラムを、第１端末１２ａのプロセッサ（ＣＰＵ等）が実行することによって実現される。すなわち、第１端末１２ａのプロセッサが、所定の記憶手段に格納されている当該端末側フレームワークプログラムを実行することによって、図３等で説明する端末認証ＶＰＮ用のフレームワーク２４の一部を構成する端末側フレームワーク１６ａを提供している。  
したがって、後述する図３等における第１端末１２ａ、第２端末１２ｂの動作は、この端末側フレームワークプログラムを、各端末プロセッサ（ＣＰＵ等）が実行することによって、実現される。
【００５０】
第１端末１２ａは、ゲートウェイ基地局１８と接続する通信手段（ハードウェア）を備えており、上記端末側フレームワークプログラムによって、ゲートウェイ基地局１８との間で通信を行うことができる。例えば、後述する図３、図４において、所定の要求や応答等を送信する処理及びそれらを受信する処理は、端末のプロセッサが、上記端末側フレームワークプログラムを実行し、当該通信手段を制御することによって実現される。
【００５１】
第２端末１２ｂも、第１端末１２ａと同様の構成であり、第１端末１２ａと同様に、アプリケーション１４ｂと、端末側フレームワーク１６ｂと、を含んでいる。そして、端末側フレームワーク１６ｂは、第１端末１２ａの端末側フレームワークプログラムと同様のプログラムを、第２端末１２ｂ中のプロセッサ（ＣＰＵ等）が実行することによって提供している。
【００５２】
言い換えれば、第２端末１２ｂのプロセッサが端末側フレームワークプログラムを実行することによって、図３等における第２端末１２ｂの動作を実現している。また、第２端末１２ｂも、第１端末１２ａと同様にゲートウェイ基地局１８と接続する通信手段（ハードウェア）を備えている。第２端末１２ｂのプロセッサが上記端末側フレームワークプログラムを実行することによって、図３、図４等の要求や応答を送信する処理や受信する処理が実現されている。  
なお、端末側フレームワークプログラムは、請求の範囲のコンピュータプログラムの好適な一例に相当する。
【００５３】
（２−２）ゲートウェイ基地局の機能構成
図２に示すように、ゲートウェイ基地局１８は、セキュリティー設定管理機能２０と、認証及びＶＰＮ機能２２とを備えている。  
セキュリティー設定管理機能２０は、ゲートウェイ基地局１８が通信に対して行うセキュリティーの設定や管理を行う機能であり、ゲートウェイ基地局１８中のプロセッサ（ＣＰＵ等）が所定のプログラムを実行することによって実現される機能である。
【００５４】
また、ゲートウェイ基地局１８は、その基本的機能として、第１端末１２ａや第２端末１２ｂをインターネット等のネットワークに接続するゲートウェイとしての機能を備えている。また、ゲートウェイ基地局１８は、第１端末１２ａや第２端末１２ｂと接続するための通信手段を備えている。
【００５５】
さらに、ゲートウェイ基地局１８が備える認証及びＶＰＮ機能２２は、上述した端末認証ＶＰＮ用のフレームワーク２４を実現するための機能であり、ゲートウェイ基地局１８は中のプロセッサが所定の認証及びＶＰＮプログラムを実行することによって実現している。当該認証及びＶＰＮプログラムは、ゲートウェイ基地局１８内の所定の記憶手段に格納されており、ゲートウェイ基地局１８のプロセッサ（ＣＰＵ等）がこの認証及びＶＰＮプログラムを実行することによって、認証及びＶＰＮ機能２２を実現し、図３等で説明する端末認証ＶＰＮ用のフレームワーク２４の一部を構成することができる。
【００５６】
ゲートウェイ基地局１８の認証及びＶＰＮ機能２２は、第１端末１２ａ、第２端末１２ｂに対して認証を行い、また、ＶＰＮ回線を第１端末１２ａ及び第２端末１２ｂ間で構築し、これらの端末間でのＶＰＮ通信を中継する機能を実現する。すなわち、後述する図３、図４等におけるゲートウェイ基地局１８の各種動作、要求や処理・応答の中継、中継テーブルの構築や中継テーブルの内容の記述動作は、ゲートウェイ基地局１８のプロセッサ（ＣＰＵ等）が当該認証及びＶＰＮプログラムを実行することによって、実現される。同様に、VPNアドレスの生成やその提供動作（送信動作）も、同プロセッサ（ＣＰＵ等）が認証及びＶＰＮプログラムを実行することによって実現される。中継動作等の送受信の処理も、認証及びＶＰＮプログラムがゲートウェイ基地局１８がゆうする通信手段を制御して実行される。
【００５７】
また、端末認証ＶＰＮフレームワーク２４は、第１端末１２ａ及び第２端末１２ｂ側から見れば、上述したアプリケーション１４ａ、１４ｂ等に依存せずに、ゲートウェイ基地局１８と認証を実行し、ＶＰＮ回線を構築する機能である。さらに、端末認証ＶＰＮフレームワーク２４は、相手の端末（第１端末１２ａ、第２端末１２ｂ）と認証を行うためのネットワーク機能を含む機能である。  
なお、認証及びＶＰＮプログラムは、請求の範囲のコンピュータプログラムの好適な一例に相当する。
【００５８】
端末認証ＶＰＮ用のフレームワーク２４の特徴
なお、本実施形態１において、第１端末１２ａとゲートウェイ基地局１８との間の通信経路は、どのようなものでもよい。インターネットや、所定のＬＡＮ接続、Ｗｉ−ｆｉ接続等のネットワークであってもよいし、携帯電話等の通信回線でもよい。本実施形態１において提案する端末認証ＶＰＮ用のフレームワーク２４は、物理的なネットワークの種類には依存しない。また、本実施形態１において提案する端末認証ＶＰＮ用のフレームワーク２４は、アプリケーション１４ａ、１４ｂの種類にも依存しない。ＶＰＮを利用するアプリケーションであれば、本実施形態１における端末認証ＶＰＮ用のフレームワーク２４を利用することができる。なお、このような端末認証ＶＰＮ用のフレームワーク２４の特徴は、後述する実施形態２でも同様である。
【００５９】
第３．本実施形態におけるフレームワークにおけるＶＰＮの連携動作（中継動作）の詳細
図３は、図２で説明した構成の第１端末１２ａ、第２端末１２ｂと、ゲートウェイ基地局１８との間の通信の様子を示すタイムチャート図である。この図に基づき、具体的な通信の動作を説明する。
【００６０】
以下（３−１）〜（３−４）で説明する第１端末１２ａ及び第２端末１２ｂの送信・受信、処理は、上述した第１端末１２ａや第２端末１２ｂのプロセッサが、端末側フレームワークプログラムを実行することによって実現されている。特に、パケットやメッセージの送受信は、端末側フレームワークプログラムが、その実行によって第１端末１２ａや第２端末１２ｂが備える通信手段を制御することによって実現している。  
同様に、（３−１）〜（３−４）でゲートウェイ基地局１８が実行する送信・受信、処理は、上述したゲートウェイ基地局１８のプロセッサが、認証及びＶＰＮプログラムを実行することによって実現されている。特に、パケットやメッセージの送受信は、認証及びＶＰＮプログラムが、その実行によってゲートウェイ基地局１８が備える通信手段を制御することによって実現している。
【００６１】
（３−１）端末認証シーケンス（端末とゲートウェイ基地局との間の処理）
端末側（第１端末１２ａ、第２端末１２ｂ）からの認証要求アクセスをゲートウェイ基地局１８側が受信した後、ゲートウェイ基地局１８は、サンプルコード（接続時刻、ＣＰＵ−ＩＤ、等を組み合わせて構成した値）を生成し、端末側の公開鍵で暗号化したサンプルコードを端末側に送信する。
【００６２】
端末側は、サンプルコードをその端末の秘密鍵で復号し、原サンプルコードを得、得たサンプルコードをハッシュ化する。端末側は、このハッシュ化したデータを、ゲートウェイ基地局１８に送信する。ゲートウェイ基地局１８は、ゲートウェイ基地局１８が自らハッシュ化したサンプルコードのデータ、端末側が送信してきたハッシュ化データとを比較し、同一であれば、その端末に対する認証を成功と認定する。  
以下、図３に基づき、端末認証シーケンスの詳細な処理の流れを説明する。
【００６３】
（３−１ａ）．第１端末側の認証シーケンス
まず、第１端末１２ａ上で、第２端末１２ｂとの間の通信を要求するような所定のアプリケーション１４ａが稼働している。このアプリケーション１４ａは、第１端末１２ａに対してアプリ接続指令３０を出力する。すると、第１端末１２ａは、端末認証要求３２を、インターネット３等のネットワークを介して、ゲートウェイ基地局１８に対して送信する。なお、第１端末１２ａは、端末ＩＤを所有しており、この端末ＩＤを含む端末認証要求３２を送信する。
【００６４】
ゲートウェイ基地局１８はこの端末認証要求３２を受信すると、端末認証処理３４を実行し、所定のメッセージやデータの送受信を第１端末１２ａとの間で実行する。ゲートウェイ基地局１８は、この端末認証処理３４を実行し、その結果に基づき、ＶＰＮ用ＴＣＰ情報生成処理３６を実行する。
【００６５】
ＶＰＮ用ＴＣＰ情報生成処理３６が完了した後、ゲートウェイ基地局１８は、端末認証応答３８を、第１端末１２ａに送信する。この端末認証応答３８には、ＶＰＮ用ＴＣＰ情報生成処理３６で生成した各種の情報（ＶＰＮ用ＴＣＰ情報）が含まれている。  
第１端末１２ａは、端末認証応答２８を受信すると、その中に含まれるＶＰＮ用ＴＣＰ情報４０を取得する。  
一方、ゲートウェイ基地局１８は、第１端末１２ａからの端末認証要求３２に基づき、第１端末１２ａが通信したい相手である第２端末１２ｂに対して、端末認証要求４２を送信する。この送信はインターネット３を通じて行う場合もあるし、また、所定のサイト５内のＬＡＮ／Ｉｎｔｒａｎｅｔであってもよい。
【００６６】
（３−１ｂ）．第２端末側の認証シーケンス
次に、第２端末１２ｂ上では、例えば第１端末１２ａとの間の通信を要求するような所定のアプリケーション１４ｂが稼働しており、第１端末１２ａと同様に、アプリ接続指令を出力する。すると、第２端末１２ｂは、端末認証要求４２を、有線ＬＡＮ、無線ＬＡＮ等のネットワークを介して、ゲートウェイ基地局１８に対して送信する。第２端末１２ｂも、端末ＩＤを所有しており、この端末ＩＤを含む端末認証要求４２を送信する。
【００６７】
ゲートウェイ基地局１８はこの端末認証要求４２を受信すると、端末認証処理４４を実行し、所定のメッセージやデータの送受信を第２端末１２ａとの間で実行する。ゲートウェイ基地局１８は、この端末認証処理４４を実行し、その結果に基づき、ＶＰＮ用ＴＣＰ情報生成処理４６を実行する。  
ＶＰＮ用ＴＣＰ情報生成処理４６が完了した後、ゲートウェイ基地局１８は、端末認証応答４８を、第２端末１２ｂに送信する。この端末認証応答４８には、ＶＰＮ用ＴＣＰ情報生成処理４６で生成した各種の情報（ＶＰＮ用ＴＣＰ情報）が含まれている。
【００６８】
第２端末１２ｂは、端末認証応答４８を受信すると、その中に含まれるＶＰＮ用ＴＣＰ情報５０を取得する。
【００６９】
以上のような処理の結果、第１端末１２ａ、第２端末１２ｂともに認証が完了し、ＶＰＮ用のＴＣＰ情報を取得することができる。  
なお、第１端末１２ａ、第２端末１２ｂともに、それぞれ端末ＩＤを所有しているが、この端末ＩＤは、ゲートウェイ基地局１８が識別できるＩＤであればよい。例えば、電話番号でもよいし、ＳＩＰ（Session Initiation Protocol）を利用する場合は、ＳＩＰのＵＲＩ（Uniform Resource Identifier）を用いてもよい。端末を一意に特定できるユニークなものであれば、どのようなものでも利用可能である。言い換えれば、ゲートウェイ基地局１８が各端末を識別できればどのような情報でもよい。
【００７０】
（３−２）端末間認証シーケンス（第１端末１２ａと、第２端末１２ｂとの間における処理）
発信元端末（例えば第１端末１２ａ）からの認証要求アクセスを、宛先端末（例えば第２端末１２ｂ）が受信した後、宛先端末は、サンプルコード（接続時刻、ＣＰＵ−ＩＤ等を組み合わせて生成した値）を生成し、発信元端末の公開鍵で暗号化した暗号化サンプルコードを発信元端末に対して送信する。
【００７１】
発信元端末は、送信されてきた暗号化サンプルコードを、発信元端末の秘密鍵で復号し、原サンプルデータを得る。発信元端末は、原サンプルデータをハッシュ化したデータを
宛先端末に送信する。宛先端末は、自らハッシュ化したサンプルコードのデータと、発信元端末から送信されてきたハッシュ化したデータとを比較し、同一であれば、発信元端末に対する認証が成功したと認定する。
【００７２】
以下、図３に基づき端末間認証シーケンスの具体的な処理の流れについて説明する。このシーケンスは、図３における端末間認証要求５２から、端末間認証応答６６、６４までの一連の処理である。  
まず、第１端末１２ａは、第２端末１２ｂとの間で、通信相手としての認証を実行する。このために、第１端末１２ａは、認証端末間認証要求５２を、ゲートウェイ基地局１８を経由して第２端末１２ｂに対して送信する。
【００７３】
ゲートウェイ基地局１８は、受信した端末間認証要求５２を、第２端末１２ｂに送信する。便宜上この送信する端末間認証要求を端末間認証要求５４と称する。  
次に、第２端末１２ｂは、送信されてきた端末間認証要求５４を受信する。第２端末１２ｂは、受信した端末間認証要求５４に基づき、端末間認証処理５８を実行する。
【００７４】
なお、第２端末１２ｂ側の、この端末間認証処理５８と同様に、第１端末１２ａも端末間認証処理５６を実行する。  
これら端末間認証処理５６、５８は、上述したように、第２端末１２ｂがサンプルコードを生成し、第１端末１２ａの公開鍵で暗号化したものを第１端末１２ａに送信する処理や、第１端末１２ａが自己の秘密鍵を用いて暗号化したサンプルコードを復号し、原サンプルデータを得る処理を含む。
【００７５】
また、端末間認証処理５６、５８は、第１端末１２ａが得た原サンプルデータをハッシュ化して第２端末１２ｂに送信する処理と、第２端末１２ｂが、受信したデータと、自己が自ら原サンプルデータをハッシュ化したデータと、を比較する処理を含む。さらに、端末間認証処理５６、５８は、第２端末１２ｂが、受信したハッシュ化データと、第２端末が自らハッシュ化したデータとを比較し、両者が同一であれば相手方を正当な端末と認定し認証が成功したと認定する。このような処理をお互いに実行し、互いに相手が正当な端末であると認証した場合、その認証に関する情報である認証情報を互いに取得する。
【００７６】
第１端末１２ａは、端末間認証処理５６の結果、認証情報６０を取得し、第２端末１ｂｊは、端末間認証処理５８の結果、認証情報６２を取得する。認証情報６０、６２中には、ＶＰＮ接続を行う際に用いられる認証コードが含まれている。  
また、第２端末１２ｂは、端末間認証要求５４に対する応答として、端末間認証応答６６を実行する。ゲートウェイ基地局１８は、この端末間認証応答６６を中継して、第１端末１２ａに送信する。便宜上、この送信するパケットを、端末間認証応答６４と称するが、実質的に端末間認証応答６６と同様のものである。
【００７７】
（３−３）ＴＣＰ接続確立シーケンス（端末１２ａ、１２ｂとゲートウェイ基地局１８との間の処理）
次に、ゲートウェイ基地局１８は、認証を完了した端末側（第１端末１２ａ、第２端末１ｂ）からＴＣＰ接続要求アクセス（６８、７０）が送信されることを待ち受けている。ゲートウェイ基地局１８は、ＴＣＰ接続要求アクセスを受信した後に、端末間（第１端末１２ａと第２端末１２ｂとの間）のＴＣＰを連結してプロキシ転送するための情報を、ゲートウェイ基地局１８内の中継テーブル上に記述する。具体的には、要求にかかる新たなエントリーを中継テーブル中に追加していく。
【００７８】
第１端末１２ａ（第２端末１２ｂ）は、ＴＣＰによる通信を行うために、自己が実行したいＴＣＰ通信の情報を含むメッセージ（パケット）をゲートウェイ基地局１８に対して送信する。このメッセージの送信をＴＣＰ接続要求アクセス６８（７０）と呼ぶ。  
なお、この中継テーブルは、各ＴＣＰ接続要求アクセスを受信する度に、ＴＣＰ接続毎に新たに構築するように構成してもよい。
【００７９】
この中継テーブルは、ゲートウェイ基地局１８が、端末間（第１端末１２ａと第２端末１２ｂとの間）のＴＣＰを連結（ＴＣＰの中継、ＴＣＰの転送）をする際に参照するテーブルである。このＴＣＰ接続確立シーケンスにおいては、中継テーブルに、中継の対象となるＴＣＰに関する情報を追加（登録）していく。つまりテーブル中のエントリーを追加していく。この中継テーブルは、端末間（第１端末１２ａと、第２端末１２ｂとの間）のＴＣＰを連結してプロキシ転送を実現するためのテーブルである。
【００８０】
後述する（４）のＶＰＮ接続シーケンスで説明するように、ＶＰＮ用アドレスが決定された際に、当該ＶＰＮ用アドレスと共に、どのＴＣＰ（ＶＰＮとして利用するＴＣＰ）とどのＴＣＰが中継されるかに関する情報が、当該ＶＰＮ用アドレスとともに中継テーブル中に記述される。
【００８１】
この中継テーブルは、ゲートウェイ基地局１８内の所定の記憶手段に格納しておくことができる。例えば、種々の半導体記憶手段を利用することが好適であり、また、ハードディスクや、各種の光学ディスクでもよい。  
なお、ゲートウェイ基地局１８は、この中継テーブルを構築後は、経過時間、あるいは接続維持レスポンスの応答変化等によってＴＣＰ連結の終了を判断することができる。たとえば、所定時間データの送受信がないＴＣＰについては、当該中継テーブル（のエントリー）を削除することで端末間ＴＣＰ接続を遮断・終了させることが可能である。  
なお、中継テーブルはＴＣＰ毎に作成してもよいが、この場合は、経過時間等によってＴＣＰ連結の終了が判断された場合は、そのＴＣＰに対応するテーブル毎に削除される。
【００８２】
本実施形態では、主として中継テーブルが複数のＴＣＰに関する情報を含む場合を説明するが、この場合は、経過時間、あるいは接続維持レスポンスの応答変化等によって、テーブル内のＴＣＰ連結が終了したと判断されるときは、当該中継テーブル中のそのＴＣＰに該当するエントリのみを削除することが好適である。  
ＴＣＰ接続確立シーケンスの具体的な処理を、図３に基づいて説明する。このシーケンスは、図３におけるＴＣＰ接続要求アクセス６８から、ＶＰＮ用ＴＣＰ中継接続完了７２までの処理に相当する。
【００８３】
第１端末１２ａは、上述した端末間認証応答６４を、第２端末１２ｂから受信した後、
ＴＣＰ接続要求アクセス６８を送信することができる。第１端末は、このＴＣＰ接続要求アクセス６８を、上述したＶＰＮ用ＴＣＰ情報４０を利用して送信する。  
ゲートウェイ基地局１８は、当該ＴＣＰ接続要求アクセス６８を受信すると、ＶＰＮ用ＴＣＰ情報４０を用いてＶＰＮ用ＴＣＰ中継接続のために中継テーブル中に当該エントリーを作成し、ＶＰＮ用ＴＣＰ情報４０を用いてＴＣＰに関する情報を記述する。
【００８４】
このＶＰＮ用ＴＣＰ情報４０は、上述したように、第１端末１２ａに対してＶＰＮ用ＴＣＰ情報生成処理３６を実行することによって生成したＴＣＰ情報である。  
このような中継テーブルを作成することによって、ゲートウェイ基地局１８は、第１端末１２ａに向かうＴＣＰを第１端末１２ａのＴＣＰに中継することができる。
【００８５】
他方、第２端末１２ｂも同様に、上述した端末間認証応答６６を送信した後（または同時でもよい）、ＴＣＰ接続要求アクセス７０を送信することができる。第２端末１２ｂは、このＴＣＰ接続要求アクセス７０を、上述したＶＰＮ用ＴＣＰ情報５０を利用して送信する。  
同様に、ゲートウェイ基地局１８は、ＴＣＰ接続要求アクセス７０を受信すると、ＶＰＮ用ＴＣＰ情報５０を用いて、ＶＰＮ用ＴＣＰ中継接続のための中継テーブル中にエントリーを作成し、ＶＰＮ用ＴＣＰ情報５０を当該エントリーに記述する。ＶＰＮ用ＴＣＰ情報５０は、上述したように、ゲートウェイ基地局１８が、第２端末１２ｂに対してＶＰＮ用ＴＣＰ情報生成処理４６を実行することによって生成した情報である。
【００８６】
このようにして、中継テーブルを構築することによって、ゲートウェイ基地局１８は、第２端末１２ｂに向かうＴＣＰを第２端末１２ａに中継することができる。この状態が、図３において、ＶＰＮ用ＴＣＰ中継接続完了７２として表されている。  
以上のようなＴＣＰ接続確立シーケンス処理の結果、第１端末１２ａと第２端末１２ｂとの間で、ＴＣＰ接続することができ、途中で暗号化データを復号して平文にする等の処理を経ずに、直接１本のＴＣＰ（ＶＰＮ）で接続することができる。ゲートウェイ基地局１８は、中継を行うのみであり、データを内部に蓄積することがなく、また、暗号化データの復号を行うこともない。
【００８７】
このように、本実施形態１では、ＴＣＰを接続すること（ＶＰＮを連結させること）を行った結果、暗号化データを復号することなく、また、サーバ等の内部にデータが蓄積しないので、情報の安全性をより向上させた通信を実現することが可能である。この「ＴＣＰ接続確立シーケンス」で作成したゲートウェイ基地局１８中の中継テーブルを利用して、ＶＰＮを接続した通信を行う処理を次に説明する。
【００８８】
（３−４）ＶＰＮ接続シーケンス（第１端末１２ａと第２端末１２ｂとの間の処理）
次に、ＴＣＰ（ＶＰＮ）中継のための中継テーブルが作成された後は、端末同士でＴＣＰ接続が可能となる。そのため、かかるＴＣＰを利用したＶＰＮの連携が可能となる。本ＶＰＮ接続シーケンスにおいて、ＶＰＮ用アドレスの生成等を行えば、第１端末１２ａと、第２端末１２ｂとの間でＶＰＮの連携を行うことが可能となる。
【００８９】
まず、上述した端末間認証シーケンスにおいて、認証が成功した場合は、ＶＰＮセッションを開設するための認証コード（認証情報６２に含まれる）を宛先端末（第２端末１２ｂ）側が生成する。この認証コードを、上述した端末間認証シーケンスと同様に、暗号・復号・ハッシュ化を実行して認証を行う。  
具体的には、下記のような流れとなる。
【００９０】
・第２端末１２ｂが、第１端末１２ａの公開鍵で認証コード（認証情報６２に含まれる）を暗号化して第１端末１２ａに送信する。  
・第１端末１２ａが、上記暗号化したデータを自己の秘密鍵で復号してハッシュ化して、第２端末１２ｂに送信する。  
・第２端末１２ｂは、送信されてきたハッシュ化データと、自己がハッシュ化した認証コードとを比較して、同一であれば認証が成功したと判断する。
【００９１】
また、本ＶＰＮ接続シーケンスにおいて、ＶＰＮに使用する共通鍵や、端末ＩＤとの関連付けなどの緒元交換を行い、また、ＶＰＮ用ＩＰアドレスを生成する。ゲートウェイ基地局１８のプロセッサ（ＣＰＵ等）が、既に説明した認証及びＶＰＮプログラムを実行することによって、この生成処理を行う。すなわち、当該プログラムと、プロセッサは、請求の範囲のＶＰＮアドレス生成送信手段の好適な一例に相当する。このようにして生成したＶＰＮ用ＩＰアドレスを互いに交換し合うために、相手側の端末に送付する。ＶＰＮ用ＩＰアドレスは、上記中継テーブル中に記述することができる。以降は、このＶＰＮ用ＩＰアドレスを用いて通信を行うことができる。これによって、ゲートウェイ基地局１８は、ＶＰＮ用ＩＰアドレスから中継テーブルに基づき、連携しているＶＰＮ（ＴＣＰ）を知ることができ、宛先のVPN用アドレスを見いだすことができる。このようにして第１端末１２ａ、第２端末１２ｂとの間で、サーバレスな（サーバに蓄積されない）ＶＰＮを構築することができる。
【００９２】
以下、ＶＰＮ接続シーケンスの具体的な処理の流れを図３に基づき説明する。  
まず、第１端末１２ａは、ＶＰＮ接続要求７４を送信する。  
ゲートウェイ基地局１８は、このＶＰＮ接続要求７４を、第２端末１２ｂに対して転送する。同内容の要求であるが、便宜上図３においては、これをＶＰＮ接続要求７６と呼ぶ。第２端末１２ｂは、このＶＰＮ接続要求７６を受信すると、上述したように、認証コード（認証情報６２に含まれる）を用いて認証を行う。そして、認証した後、第２端末１２ｂは、ＶＰＮに関する諸元の交換を行う処理であるＶＰＮ諸元交換処理８０を実行する。
【００９３】
これに合わせて、第１端末１２ａも、認証コード（認証情報６０に含まれる）を用いて認証を行った後、ＶＰＮに関する諸元の交換を行うＶＰＮ諸元交換処理７８を実行する。この諸元の交換処理においては、上述したように、ＶＰＮに使用する共通鍵や、端末ＩＤとの関連付けなどの緒元の交換が行われる。
【００９４】
また、ここで諸元交換の処理（７８、８０）において、諸元に基づき、ゲートウェイ基地局１８は、それぞれの端末にＶＰＮ用ＩＰアドレスを生成する。ゲートウェイ基地局１８は、生成したＶＰＮ用ＩＰアドレスを、ＶＰＮ諸元交換７８、８０の処理において、第１端末１２ａ、第２端末１２ｂに提供（送信）する。また、ゲートウェイ基地局１８は生成したＶＰＮ用ＩＰアドレスを、上述した中継テーブルに対応するＶＰＮとともに記述しておくことができる。ゲートウェイ基地局１８のプロセッサ（CPU等）は、既に説明した認証及びＶＰＮプログラムを実行することによって、この生成処理を行う。すなわち、認証及びＶＰＮプログラムと、それを実行するＣＰＵと、第１端末１２ａ第２端末１２ｂとの通信インターフェース（通信手段）とは、請求の範囲のＶＰＮアドレス生成送信手段の好適な一例に相当する。  
このＶＰＮ用ＩＰアドレスは、図３においては、第１端末ＶＰＮアドレス９４、第２端末ＶＰＮアドレス８６、９２として示されている。また、本実施形態１においては、第１端末１２ａ及び第２端末１２ｂは、このＩＰアドレス（第１端末ＶＰＮアドレス９４、第２端末ＶＰＮアドレス９２）を用いて通信を行うことができる。
【００９５】
上述したように、端末ＩＤは、第１端末１２ａ及び第２端末１２ｂに対してユニークなＩＤであり、ゲートウェイ基地局１８は、この端末ＩＤを用いて各端末を認識する。ゲートウェイ基地局１８は、ＶＰＮ接続要求がある度に、各端末に対してＶＰＮアドレス（ＩＰアドレス）を付与し、各端末は、この上記ＶＰＮアドレスを用いてＶＰＮ通信を行うことができる。  
例えば、第２端末１２ａは、諸元交換を行った後、ＶＰＮを構築が可能である場合は、ＶＰＮ通信を開始するために、第１端末１２ａにＶＰＮ接続応答８４を送信する。特に、第２端末１２ｂは、第２端末ＶＰＮアドレスを含むＶＰＮ接続応答８４をゲートウェイ基地局１８に送信する。これによって、第２端末１２ｂは、ＶＰＮ接続の応答を返すと同時に、ゲートウェア基地局１８を介して、第２端末ＶＰＮアドレス８６を、第１端末１２ａに送信することができる。
【００９６】
ゲートウェイ基地局１８は、受信したこのＶＰＮ接続応答８４を第１端末１２ａに転送する。便宜上、転送したＶＰＮ接続応答をＶＰＮ接続応答８２と呼ぶ。  
第１端末１２ａは、ＶＰＮ接続応答８２を受信し、種々の諸元、パラメータ、データを受信する。特に、第１端末１２ａは、第２端末ＶＰＮアドレス８６を取得し、以降、この第２端末ＶＰＮアドレス８６を利用して、第２端末１２ｂに対して、ＶＰＮを用いた通信を実行することができる。
【００９７】
このＶＰＮを用いた通信は、いわゆるサーバレスな通信であり、途中、サーバ等に蓄積されることなく、端末間で通信を行うことが可能である。ゲートウェイ基地局１８は、中継テーブルに基づき、第１端末ＶＰＮアドレス９４が対応するＶＰＮと、第２端末ＶＰＮアドレス８６が対応するＶＰＮと、が連携していることを知ることができるので、これらのアドレスに基づき、暗号化パケット９０をＶＰＮ間で転送（中継）することができる。ゲートウェイ基地局１８はのプロセッサ（ＣＰＵ等）は、認証及びＶＰＮプログラムを実行することによって、上記中継ケーブルを用いて、このようなＶＰＮの中継を行うことができる。したがって、ゲートウェイ基地局１８はのプロセッサ（ＣＰＵ等）と、認証及びＶＰＮプログラムと、第１端末１２ａ第２端末１２ｂとの間の通信インターフェース（通信手段）は、請求の範囲の中継手段の好適な一例に相当する。
【００９８】
このＶＰＮ通信において用いられる暗号化パケット９０の模式的な様子が、図３下部に記載されている。図３で示す暗号化パケット９０は、アプリケーションプログラムによって送信・受信されるパケットであり、ソースアドレス（source address）として、第２端末ＶＰＮアドレス９２（第２ＶＰＮアドレス８６と同一）を含んでいる。また、ディスティネーションアドレス（distination address）として、第１端末ＶＰＮアドレス９４も含まれている。  
この暗号化パケット９０には、アプリケーションで用いるデータ（以下、単にアプリデータ９８と称する）が含まれており、第１端末１２ａと第２端末１２ｂとの間でアプリケーションによるデータの送受信を行うことが可能である。また、このアプリデータの送受信を行うためのプロトコルとしては、例えばＴＣＰやＵＤＰ（User Datagram Protocol）等を用いることができる。本実施形態１では、ＴＣＰ及びＵＤＰを用いることができる例を説明する。本実施形態１においては、これらＴＣＰやＵＤＰが、アプリデータ用ＴＣＰ／ＵＤＰ９５として、暗号化パケット９０中に含まれている。
【００９９】
以上述べたような処理によって、第１端末１２ａと、第２端末１２ｂとは、ＶＰＮを構築するための第１端末ＶＰＮアドレス９４と第２端末ＶＰＮアドレス９２とを生成することができるので、サーバレスで、互いに通信を行うことができる。この結果、それぞれの端末（第１端末１２ａ、第２端末１２ｂ）において、例えばＴＣＰ／ＩＰ１００を用いて、アプリケーションプログラムがデータを送受信することができる。この結果、各アプリケーションプログラムは、（データを蓄積しない）Ｐｒｏｘｙ１０２を介してデータの送受信を行っているように動作することが可能である。
【０１００】
第４．従来技術との対比
これまで述べたように、従来技術では、ＴＣＰセッションを利用してモバイル端末間でＶＰＮを構築する場合は、一般的にＶＰＮをいわゆる中継サーバと呼ばれる「サーバ」で管理している。この中継サーバにおいては、データ（パケット）を転送する際に暗号化されたパケットを一旦復号する。したがって、その時点でセキュリティーの脆弱性が発生する。
【０１０１】
本実施形態１においては、このような「サーバ」を用いずに、ゲートウェイ基地局１８が多段中継されてもパケットが一度も復号されることはないため、従来の中継サーバにおける、パケットが一旦復号化されることよる脆弱性は原理的には発生しない。本実施形態における特徴的な事項は、このように復号化されることなく、端末間でパケットが送受信されることである。  
さらに、本実施形態１において特徴的な事項は、端末１２ａ、１２ｂを接続したゲートウェイ基地局１８と、端末１２ａ、１２ｂとの間で、相互認証を実行し、ＴＣＰセッション上のＶＰＮを構築している点である。この結果、複数のゲートウェイ基地局１８を経由する場合（多段中継される場合）であっても、パケットを復号する必要がなくなる。次に、この多段中継される場合の動作について説明する。
【０１０２】
Ｂ．実施形態２
第１．概要
上記実施形態１においては、ゲートウェイ基地局が１個であり、データの送受信を行う第１端末１２ａと、第２端末１ｂとは、ともに同一のゲートウェイ基地局に接続する例を説明した（図１、図２参照）。  
しかし、本発明は、データの送受信を行う第１端末１２ａと、第２端末１２とｂとが、離隔している場合、複数のゲートウェイ基地局を介して、第１端末１２ａと第２端末１２ｂとがＶＰＮ接続するように構成することも好適である。  
図５は、第１端末１２ａと第２端末１２ｂとが、２台のゲートウェイ基地局を介して接続する例を示す説明図である。図５に示すように、第１端末１２ａ、第２端末１２ｂの構成・動作は、上記実施形態１と同様である。
【０１０３】
第２．処理・動作
（２−１）端末認証シーケンス
まず、第１端末１２ａは、第１ゲートウェイ基地局１８ａとの間で、端末認証２００ａを実行する。この端末認証２００ａの処理は、上記実施形態１において（１）端末認証シーケンスとして説明した動作と同様の処理である。  
同様に、第２端末１２ｂも、第２ゲートウェイ基地局１８ｂとの間で、端末認証２００ｂを実行する。この端末認証２００ｂの処理も、上記実施形態１において説明した（１）端末認証シーケンスと同様である。
【０１０４】
本実施形態２において特徴的なことは、ゲートウェイ基地局１８ａ（１８ｂ）は、自己において認証した端末の情報を、他のゲートウェイ基地局１８ｂ（１８ａ）に送信し、情報共有２００ｃを実行することである。これによって、端末の位置を互いに把握することができ、いずれかの端末から、例えば所定の相手先の端末に認証要求が出された場合でも、当該認証要求を、その相手先の端末に送り届けることが可能である。本実施形態２においては、２個のゲートウェイ基地局１８ａ、１８ｂの例を示したが、一般的に複数台のゲートウェイ基地局１８が配置されているネットワークでも同様である。
【０１０５】
（２−２）端末間認証シーケンス
次に、第１端末１２ａと第２端末１２ｂとの間で端末間認証シーケンスが実行される。このシーケンスは、実施形態１において、「端末間認証シーケンス」として説明された処理であり、本実施形態２においても、ほぼ同様の処理が実行される。
【０１０６】
本シーケンスにおける第１端末１２ａと、第２端末１２ｂとの動作は、実施形態１と同様であり、第１端末１２ａと第２端末１２ｂとは、互いに、相手の端末との間にゲートウェイ基地局１８が何台位置するかを直接意識する必要はない。例えば、第１端末１２ａは、第１ゲートウェイ基地局１８ａとの間で端末間認証２０２ａを実行する。この処理は、具体的には、第１端末１２ａは、端末間認証要求５２を送信し、それに引き続く処理が該当する。また、その端末間認証２０２ａに応答して、第２端末１２ｂは、端末間認証２０２ｃを実行する。  
これらの処理においては、例えば、第１端末１２ａがサンプルコードを生成し、第２端末１２ｂの公開鍵で暗号化したものを第２端末１２ｂに送信する。そして、第２端末１２ｂが自己の秘密鍵を用いて暗号化したサンプルコードを復号し、原サンプルデータを得る。さらに、第２端末１２ｂは、このようにして得た原サンプルデータをハッシュ化して第１端末１２ａに送信する。第１端末１２ａは、受信したデータ（ハッシュ化したデータ）と、自己が自ら生成した原サンプルデータをハッシュ化したデータと、を比較する。両者が一致したことを以て、第１端末１２ａは認証が成功したと認定する。
【０１０７】
このような処理をお互いに実行し、互いに相手が正当な端末であると認証した場合、その認証に関する情報である認証情報（図３における認証情報６０、６２）を互いに取得する。さらに、第２端末１２ｂは、端末間認証要求５４（５２）に対する応答として端末間認証応答６６（６４）を第１端末１２ｂに送信する。これらの処理が、端末間認証２０２ａ、２０２ｃである。
【０１０８】
本実施形態２においては、これら一連の「端末間認証シーケンス」の処理において、第１ゲートウェイ基地局１８ａ、第２ゲートウェイ基地局１８ｂは、認証要求等のパケットを中継して転送していく処理である端末間認証２０２ｂを実行する。上述したように、情報共有２００ｃによってゲートウェイ基地局１８ａ、１８ｂ間で端末の位置を互いに共有しているので、各ゲートウェイ基地局は、認証要求等のパケットの中継を実行することができる。
【０１０９】
（２−３）ＴＣＰ接続確立シーケンス
次に、ＴＣＰ接続確立シーケンスが実行される。このシーケンスの処理は、実施形態１で述べた「ＴＣＰ接続確立シーケンス」と同様であり、図４におけるＴＣＰ接続要求アクセス６８から、ＶＰＮ用接続完了７２において完了する処理である。この処理の中で、ゲートウェイ基地局１８ａ、ｂは、上述したように、端末間（第１端末１２ａ、体２端末１２ｂ）のＴＣＰを連結してプロキシ転送するための中継テーブル（のエントリー）を作成（追加）することは、既に説明した通りである。
【０１１０】
特に、本実施形態２においては、当該中継テーブルを、ゲートウェイ基地局１８ａ、１８ｂ間で共有している。すなわち、ゲートウェイ基地局１８ａは、上記作成した中継テーブル中のエントリを、他のゲートウェイ基地局１８ｂに送信し、共有する。また、ゲートウェイ基地局１８ｂは、ゲートウェイ基地局１８ｂが作成した中継テーブル（のエントリー）を、他のゲートウェイ基地局１８ａに送信し、共有する。このように、いずれかのゲートウェイ基地局１８ａ（１８ｂ）が作成した中継テーブルは、他のゲートウェイ基地局１８ｂ（１８ａ）にもその情報を送信しているので、作成した中継テーブル（のエントリー）を各ゲートウェイ基地局１８で共有することができる。これが、図５において、ゲートウェイ基地局間情報共有２０４として表されている。このように、本実施形態２においては、端末ＩＤと、その接続ＴＣＰポートを共有している。  
このように、本実施形態２においては、端末間のＴＣＰを連結しプロキシ転送するための中継テーブルを、各ゲートウェイ基地局１８で共有しているので、各ゲートウェイ基地局１８は、当該中継テーブルに基づき、ＴＣＰの転送を行うことができる。
【０１１１】
なお、実施形態１で説明したように、経過時間や、接続維持レスポンスの応答変化等に基づき、ＴＣＰ連結が不要となった場合、当該中継テーブルのエントリを削除しているが、この削除処理も、各ゲートウェイに伝達され、共有される。すなわち、いずれかのゲートウェイ基地局１８ａ（１８ｂ）において、所定の条件の下、テーブルの所定のエントリがもはや不要であると判断し削除された場合は、この削除処理が他のゲートウェイ基地局１８ｂ（１８ａ）にも伝達されて同様に該当するエントリの削除処理が行われる。同様に、例えば、いずれかの端末（第１端末１２ａ、または、第２端末１２ｂ）の接続断を検知すると、この検知内容も、各ゲートウェイ基地局１８間で共有される。このように、本実施形態２においては、中継テーブルのエントリの作成処理（追加処理）だけでなく、その中のエントリの削除処理や各端末（第１端末１２ａ、第２端末１２ｂ）の接続状況も共有される。
【０１１２】
端末の移動
また例えば、第２端末１２ｂが移動して、接続しているゲートウェイ基地局１８ｂが変更される場合がある。この場合は、接続が切れたゲートウェイ基地局１８ｂにおいて、第２基地局１２ｂに関する中継テーブルのエントリーが削除され、このことが他のゲートウェイ基地局１８ａにも伝達される。そして、第２端末１２ｂが、その移動先で新たに他のゲートウェイ基地局１８と接続した場合は、その新しいゲートウェイ基地局１８において第２端末１２ｂの接続が検知され、それに基づき、これまで述べた手法で新たに上記中継テーブルが作成される。このようにして、中継テーブルのエントリーの削除や更新を行うことによって、端末の移動に対応することができる。
【０１１３】
（２−４）ＶＰＮ接続シーケンス
次に、ＶＰＮ接続シーケンスが実行される。このシーケンスの処理は、実施形態１で述べた「ＶＰＮ接続シーケンス」と同様であり、図４におけるＶＰＮ接続要求７４から、ＶＰＮ接続応答８２、８４に至る処理である。この処理の結果、第１端末ＶＰＮアドレス、第２端末ＶＰＮアドレス８６が、互いに交換される。そして、これらＶＰＮアドレスを用いてＶＰＮ通信を実行することができる。図３の下部に示すような暗号化パケット９０を送受信することが可能となる。
【０１１４】
具体的には、第１端末１２ａと第１ゲートウェイ１８ａとの間におけるＶＰＮ接続要求７４、ＶＰＮ諸元交換７８、ＶＰＮ接続応答８２等に対応するＶＰＮ接続２０６ａが実行される。同様に、第２端末１２ｂと第２ゲートウェイ１８ｂとの間におけるＶＰＮ接続要求７６、ＶＰＮ諸元交換８０、ＶＰＮ接続応答８４等に対応するＶＰＮ接続２０６ｃが実行される。
【０１１５】
特に、本実施形態２においては、ＶＰＮ接続シーケンスにおいて、ゲートウェイ基地局１８ａ、１８ｂは、（３）ＴＣＰ接続確立シーケンスで作成した中継テーブルを利用して、ＶＰＮ接続要求７４をＶＰＮ接続要求７６として転送することができる。同様に、ゲートウェイ基地局１８ａ、１８ｂは、ＶＰＮ諸元交換７８、８０、ＶＰＮ接続応答８２、８４を転送することができる。これは、各ゲートウェイ基地局１８ａ、１８ｂが上記中継テーブルをそれぞれ保持していることによって可能となったものである。図４においては、ゲートウェイのこのような転送処理がＶＰＮ接続２０６ｂとして表されれている。  
このような処理の結果、互いにＶＰＮアドレスを取得した後は、それらを用いて図３の下部に示した暗号化パケット９０の送受信を行うことができる。
【０１１６】
このような暗号化パケット９０による通信は、図４の下部に示すように、ＶＰＮ暗号データ２０８に相当する。本実施形態において特徴的なことは、いわゆるサーバを用いないサーバレスで暗号化パケット９０が転送されていくことである。ゲートウェイ基地局１８ａ、１８ｂは、暗号化パケット９０を内部に蓄積せずに、転送していく。またゲートウェイ基地局１８ａ、１８ｂは、暗号化パケット９０の復号も実行しない。したがって、復号されず、また通信の途中で蓄積されないので、通信の安全性を従来より高く維持することが容易に可能である。
【０１１７】
このようなＶＰＮ暗号データ２０８による通信は、第１端末１２ａにとっては、例えばＴＣＰ／ＩＰ２１０ａを利用した通信であり（図４参照）、第２端末１２ａにとっては、例えばＴＣＰ／ＩＰ２１０ｃを利用した通信である（図４参照）。なお、本実施形態２では、ゲートウェイ基地局１８ａとゲートウェイ基地局１８ｂとの間では、ＴＣＰ／ＩＰによる通信、または、ＵＤＰ／ＩＰによる通信を行うことができる（図４の２１０ｂ）。
【０１１８】
Ｃ．変形例
これまで述べた実施形態１〜２では、主として端末が２台の場合を説明したが、もちろん、３台以上存在する場合でも同様の技術が適用可能である。また、以上説明した実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は本実施形態１と実施形態２の態様に限定されるものではない。
【符号の説明】
【０１１９】
１、９  端末
３  インターネット
４ａ  暗号化／端末認証
４ｂ  端末間認証
５  サイト
７  基地局
１０  通信システム
１２ａ  第１端末
１２ｂ  第２端末
１４ａ、１４ｂ  アプリケーション
１６ａ、１６ｂ  端末側フレームワーク
１８  ゲートウェイ基地局
１８ａ  第１ゲートウェイ基地局
１８ｂ  第２ゲートウェイ基地局
２０  セキュリティー設定管理機能
２２  認証及びＶＰＮ機能
３０  アプリ接続指令
３２、４２  端末認証要求
３４、４４  端末認証処理
３６、４６  ＶＰＮ用ＴＣＰ情報生成
３８、４８  端末認証応答
４０、５０  ＶＰＮ用ＴＣＰ情報
５２、５４  端末間認証要求
５６、５８  端末間認証処理  
６０、６２  認証情報
６４、６６  端末間認証応答
６８、７０  ＴＣＰ接続要求アクセス
７２  ＶＰＮ用ＴＣＰ中継接続完了
７４、７６  ＶＰＮ接続要求
７８、８０  ＶＰＮ諸元交換
８２、８４  ＶＰＮ接続応答
８６、９２  第２端末ＶＰＮアドレス
９０  暗号化パケット
９４  第１端末ＶＰＮアドレス
９６  アプリデータ用ＴＣＰ／ＵＤＰ
９８  アプリデータ
１００  ＴＣＰ／ＩＰ
２００ａ、２００ｂ  端末認証
２００ｃ  情報共有
２０２ａ、２０２ｂ、２０２ｃ  端末間認証
２０４  ゲートウェイ基地局間情報共有
２０６ａ、２０６ｂ、２０６ｃ  ＶＰＮ接続
２０８  ＶＰＮ暗号データ
２１０ａ、２１０ｃ  ＴＣＰ／ＩＰ  
２１０ｂ  ＴＣＰ／ＩＰ  ｏｒ  ＵＤＰ／ＩＰ
３００、３０８、４００、４１０  端末
３０２、４０２、５２０、６２０  インターネット
３０３、４０３  暗号化／端末認証
３０４、４０４、５００  サイト
３０６、４０６、５０２  ＲＡＳ
５０４ａ、５０４ｂ、６４４ａ、６４４ｂ  サーバ
５１０ａ、５１０ｂ、５１０ｃ  携帯情報端末
６３０ａ、６３０ｂ  ＬＡＮ
６４０ａ、６４０ｂ  ルーター
６４２  トンネル
【図１】
0006762735.tif 000002
【図２】
0006762735.tif 000003
【図３】
0006762735.tif 000004
【図４】
0006762735.tif 000005
【図５】
0006762735.tif 000006
【図６】
0006762735.tif 000007
【図７】
0006762735.tif 000008
【図８】
0006762735.tif 000009