説明

VPN接続管理システム

【課題】安価なインターネット回線を利用して、リアルタイムマルチメディア通信に適したVPN(Virtual Private Network)接続サービスを提供する。
【解決手段】ネットワーク14に直接接続された端末装置には、ユーザエージェント22が組み込まれる。サーバ装置12は、ユーザエージェント22を組み込んだ端末装置との間に、センターVPN接続通信路32を形成して、継続的に維持する。ユーザエージェント22を組み込んだ端末装置は、このセンターVPN接続通信路32を通じて、P2P(Peer to Peer)接続による通信を開始するために必要な情報を送受信する。これにより、端末装置間に、P2P-VPN接続通信路34が形成される。ユーザエージェント22を組み込んだ端末装置のみならず、ルータ16(1)、16(2)の配下の端末装置も、そのP2P-VPN接続通信路を利用する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、安価なインターネット回線を利用して、任意の端末装置群に対して簡便なVPN接続サービスを提供するVPN接続管理システムに関する。
【背景技術】
【0002】
電話回線を使用するデータ通信はセキュリティが高い利点を有する反面、帯域が狭くて伝送遅延が生じるという問題がある。広帯域の専用線を使用すれば帯域を確保できる反面、通信コストが高くなるという問題がある。これに対して、廉価なインターネット通信回線を使用して、セキュリティの高いVPN(Virtual Private Network)接続による広帯域通信を実現するシステムが開発されている(特許文献1)(特許文献2)(特許文献3)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−203575号公報
【特許文献2】特開2005−260715号公報
【特許文献3】特開2005−229436号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
既知の従来の技術には、次のような解決すべき課題があった。
上記の文献に記載の技術によれば、インターネット通信回線を使用し、セキュリティの高いVPN接続を利用して、端末装置間のP2P(Peer to Peer)接続を実現できる。しかしながら、家電製品や防犯装置等、ネット対応機器が普及し、近年のスマートフォン等の普及もあいまって、多種多様な端末装置が出現している。これらの端末装置全てについて、セキュリティの高いVPN接続の要求が高まることが予想される。この場合に、複雑な手順を必要とするVPN接続設定が普及の障壁となり得る。本発明は、以上の課題を解決するためになされたものである。
上記の課題を解決するために、本発明は次のようなVPN接続管理システムを提供することを目的とする。
(1)安価なインターネット回線を利用して、リアルタイムマルチメディア通信に適したVPN(Virtual Private Network)接続サービスを提供する。
(2)端末装置間のVPN通信をP2P(Peer to Peer)接続により実現して、通信を制御するサーバ装置等の負荷を軽減する。
(3)VPN接続のための設定を自動化して、様々な端末装置の利用を簡便にする。
(4)自由に拡張できる任意の端末装置群に対してVPN接続サービスを提供し管理する。
(5)任意の端末装置の現在の状態及び、全てのVPNに関わる設定の一括管理を実現する。
【課題を解決するための手段】
【0005】
以下の構成はそれぞれ上記の課題を解決するための手段である。
〈構成1〉
サーバ装置と、このサーバ装置にネットワークを介して接続された端末装置群により構成され、前記各端末装置には、前記サーバ装置と連携して動作するユーザエージェントが組み込まれており、前記サーバ装置は、VPNサーバとSIP(Session Initiation Protocol)サーバとSTUN(Session Traversal Utility for NAT)サーバと運用管理サーバとを含み、前記VPNサーバは、前記端末装置との間に、システムの運用中は継続的に維持されるセンターVPN接続通信路を形成する機能を持ち、前記SIPサーバは、前記センターVPN接続通信路を利用して前記端末装置と通信を行い、かつ、前記複数の端末装置間に前記サーバ装置を経由しないP2P(Peer to Peer)-VPN接続通信路を形成するために必要な情報の交換をする通信の制御を行い、前記STUNサーバは、前記P2P-VPN接続通信路を形成するために必要な、通信要求元と通信相手先のグローバルIPアドレスとポート番号とを取得して該当する端末装置に通知する機能を持ち、前記運用管理サーバは、前記端末装置へ組み込むユーザエージェントが動作中に参照する参照データを生成し、前記管理下の全ての端末装置を区別するためのユーザIDと仮想IPアドレスを払い出して、同時に、前記端末装置のユーザIDと仮想IPアドレスと証明書とを含むグループ管理データベースを記憶装置に記憶し、前記VPNサーバとSTUNサーバとは、いずれかの端末装置と通信を行う場合に、前記グループ管理データベースを参照して前記端末装置の認証を行い、前記ユーザエージェントは、前記参照データを参照して、前記VPNサーバと通信をして前記センターVPN接続通信路を形成し、他の端末装置と前記サーバ装置を経由しないVPN接続を利用したP2P(Peer to Peer)通信を要求する場合に、前記サーバ装置のSTUNサーバと通信をして、前記P2P-VPN接続通信路を形成するために必要な、グローバルIPアドレスとポート番号とを取得し、前記SIPサーバと通信をして、前記センターVPN接続通信路を利用して、前記STUNサーバから取得した前記グローバルIPアドレスとポート番号とを、相手方の端末装置に通知して、前記複数の端末装置間に前記サーバ装置を経由しないP2P(Peer to Peer)-VPN接続通信路を形成することを特徴とするVPN接続管理システム。
【0006】
〈構成2〉
ネットワークを介して接続された端末装置群にVPN接続サービスを提供するためのサーバ装置であって、VPNサーバとSIP(Session Initiation Protocol)サーバとSTUN(Session Traversal Utility for NAT)サーバと運用管理サーバとを含み、前記VPNサーバは、前記端末装置との間に、システムの運用中は継続的に維持されるセンターVPN接続通信路を形成する機能を持ち、前記SIPサーバは、前記センターVPN接続通信路を利用して前記端末装置と通信を行い、かつ、前記複数の端末装置間に前記サーバ装置を経由しないP2P(Peer to Peer)-VPN接続通信路を形成するために必要な情報の交換をする通信の制御を行い、前記STUNサーバは、前記P2P-VPN接続通信路を形成するために必要な、通信要求元と通信相手先のグローバルIPアドレスとポート番号とを取得して該当する端末装置に通知する機能を持ち、前記運用管理サーバは、前記端末装置へ組み込むユーザエージェントが動作中に参照する参照データを生成し、前記管理下の全ての端末装置を区別するためのユーザIDと仮想IPアドレスを払い出して、同時に、前記端末装置のユーザIDと仮想IPアドレスと証明書とを含むグループ管理データベースを記憶装置に記憶し、前記VPNサーバとSTUNサーバとは、いずれかの端末装置と通信を行う場合に、前記グループ管理データベースを参照して前記端末装置の認証を行い、前記ユーザエージェントは、前記参照データを参照して、前記VPNサーバと通信をして前記センターVPN接続通信路を形成し、他の端末装置と前記サーバ装置を経由しないVPN接続を利用したP2P(Peer to Peer)通信を要求する場合に、前記サーバ装置のSTUNサーバと通信をして、前記P2P-VPN接続通信路を形成するために必要な、グローバルIPアドレスとポート番号とを取得し、前記SIPサーバと通信をして、前記センターVPN接続通信路を利用して、前記STUNサーバから取得した前記グローバルIPアドレスとポート番号とを、相手方の端末装置に通知して、前記複数の端末装置間に前記サーバ装置を経由しないP2P(Peer to Peer)-VPN接続通信路を形成するものであることを特徴とするサーバ装置。
【0007】
〈構成3〉
ネットワークを介して接続されたサーバ装置により、VPN接続サービスを受けるために、端末装置に組み込まれるものであって、前記参照データを参照して、前記VPNサーバと通信をして前記センターVPN接続通信路を形成し、他の端末装置と前記サーバ装置を経由しないVPN接続を利用したP2P(Peer to Peer)通信を要求する場合に、前記サーバ装置のSTUNサーバと通信をして、前記P2P-VPN接続通信路を形成するために必要な、グローバルIPアドレスとポート番号とを取得し、前記SIPサーバと通信をして、前記センターVPN接続通信路を利用して、前記STUNサーバから取得した前記グローバルIPアドレスとポート番号とを、相手方の端末装置に通知して、前記複数の端末装置間に前記サーバ装置を経由しないP2P(Peer to Peer)-VPN接続通信路を形成するものであることを特徴とするユーザエージェント。
【0008】
〈構成4〉
請求項1に記載のVPN接続管理システムにおいて、前記ユーザエージェントを組み込んだ端末装置はルータであって、前記運用管理サーバから払い出された仮想IPアドレスを配下のユーザエージェントを組み込まない端末装置に払い出し、いずれの端末装置も、前記仮想IPアドレスを使用して、前記ユーザエージェントを組み込んだ端末装置の間に形成されたP2P-VPN接続通信路を使用して、VPN通信を行うことを特徴とするVPN接続管理システム。
【0009】
〈構成5〉
サーバ装置のコンピュータを、構成2に記載のVPNサーバとSIPサーバとSTUNサーバと運用管理サーバとして機能させるコンピュータプログラム。
【0010】
〈構成6〉
サーバ装置のコンピュータを、構成2に記載のVPNサーバとSIPサーバとSTUNサーバと運用管理サーバとして機能させるコンピュータプログラムを記録したコンピュータで読み取り可能な記録媒体。
【0011】
〈構成7〉
端末装置のコンピュータを、構成3に記載のユーザエージェントして機能させるコンピュータプログラム。
【0012】
〈構成8〉
端末装置のコンピュータを、構成3に記載のユーザエージェントして機能させるコンピュータプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の効果】
【0013】
(1)端末装置にユーザエージェントを組み込むと、ユーザエージェントが自動的サーバ装置との間にセンターVPN接続通信路の設定を実行する。さらに、センターVPN接続通信路を経由してサーバ装置から必要なデータを取得し、端末装置間に自動的に、P2P-VPN接続通信路を形成する。端末装置やユーザは、VPN接続を意識した制御や操作を必要としない。端末装置は、ルータであってもよい。ルータの配下の端末装置も、簡単にVPN接続サービスの提供を受けることができる。
(2)各端末装置は、相互にP2P接続により直接VPN通信ができるため、サーバ装置を中継する通信方式よりも信号の伝送遅延が生じ難い。従って、音声や画像データのリアルタイム通信に適する。
(3)サーバ装置は端末装置間のP2P-VPN接続の開始を制御し、その後の端末装置間の通信にはP2P-VPN接続通信路を使用するので、サーバ装置の負担が軽い。
(3)サーバ装置は、複数のグループを別個に管理することができる。
(4)VPN接続通信路の設定をユーザエージェントが代行するため、例えば、端末装置が接続されているローカルエリアネットワーク内での既存の通信に全く影響を及ぼさない。端末装置のアプリケーションは、VPN接続をする場合と、それ以外の場合の切り替え操作が不要である。
(5)P2PのVPN通信を行う端末装置双方がそれぞれNAT(Network Address translator)装置の配下に設置されている場合でも、ユーザエージェントが自動的にNAT越えの制御を行うため、NAT装置への設定を行う必要がなく、利用者に負担が掛からない。
【図面の簡単な説明】
【0014】
【図1】本発明のVPN接続管理システムの概略説明図である。
【図2】サーバ装置による端末装置の初期設定のための機能ブロック図である。
【図3】VPN接続通信路の説明図である。
【図4】サーバ装置と端末装置の内部機能ブロック図である。
【図5】端末装置の初期設定動作を示すシーケンスチャートである。
【図6】既に運用中のシステムの設定を変更する場合の動作シーケンスチャートである。
【図7】ルータの初期設定動作のシーケンスチャートである。
【図8】各端末装置のセンターVPN接続通信路32設定動作のシーケンスチャートである。
【図9】P2P-VPN接続動作シーケンスチャートである。
【図10】P2P-VPN接続通信路34の管理動作シーケンスチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態を実施例毎に詳細に説明する。
【実施例1】
【0016】
図1は、本発明のVPN接続管理システムの概略説明図である。
このVPN接続管理システム10は、図1(a)に示すように、サーバ装置12と、VPN接続サービスを受ける端末装置群により構成される。端末装置群は、例えば、図のように、サーバ装置12とネットワーク14を介して接続されたPC(パーソナルコンピュータ)20(1)、やスマートフォン18やルータ16(1)、16(2)等である。ネットワーク14はインターネット等の広域ネットワークである。ルータ16(1)、16(2)の配下には、破線の楕円で示したローカルネットワークが接続されている。ルータ16(1)の配下にあるパーソナルコンピュータ20(2)も、VPN接続サービスを受ける端末装置に含まれる。
【0017】
端末装置群は、複数のグループに分かれていてよく、それぞれ、後で説明する仮想IPアドレスにより区別された別個独立したネットワーク(閉域網)を構成することができる。ネットワーク14に直接接続された端末装置には、ユーザエージェント22が組み込まれる。サーバ装置12は、ユーザエージェント22を組み込んだ端末装置を、グループ管理データベース36に登録する。
【0018】
図1(b)に示すように、サーバ装置12は、ユーザエージェント22を組み込んだ端末装置との間に、センターVPN接続通信路32を形成して、継続的に維持する。ユーザエージェント22を組み込んだ端末装置は、このセンターVPN接続通信路32を通じて、P2P(Peer to Peer)接続による通信を開始するために必要な情報を送受信する。これにより、端末装置間に、P2P-VPN接続通信路34が形成される。ユーザエージェント22を組み込んだ端末装置のみならず、ルータ16(1)、16(2)の配下の端末装置も、そのP2P-VPN接続通信路を利用して、安全にP2P(Peer to Peer)接続による通信を行うことができる。
【0019】
(ユーザエージェント)
NAT越えのP2P-VPN通信を実現する技術は知られている。しかしながら、VPN接続通信路の設定やアドレス管理には複雑な処理が必要になる。これはユーザに大きな負担になる。本発明のシステムでは、ユーザエージェント22に、一定の自動制御をさせることで、ユーザの負担を軽減するとともに、拡張性の高いシステムを実現している。
【0020】
インターネット等の不特定人に共用されるネットワーク14を介して直接サーバ装置12と接続される端末装置には、ユーザエージェント22が組み込まれる。ユーザエージェント22は、端末装置のコンピュータに所定の機能を付与するコンピュータプログラムにより動作し、端末装置の機能モジュールとして動作する。
【0021】
ユーザエージェント22は、サーバ装置12と連携して動作する。ユーザエージェント22は、端末装置をサーバ装置12の管理下におくための初期登録処理を自動的に実行する機能を持つ。このとき、サーバ装置は、端末装置に対して、固有の仮想IPアドレスを払い出す。ユーザエージェント22は、端末装置とサーバ装置12との間にセンターVPN接続通信路32(実線の矢印)を形成するための設定を自動的に実行する機能を持つ。
【0022】
さらに、ユーザエージェント22は、他の端末装置との間にP2P-VPN接続通信路34(破線の矢印)を形成して、P2P接続による通信の開始のための処理を自動的に実行する機能を持つ。また、端末装置がルータの場合には、別の端末装置を配下に持つ。このとき、ユーザエージェント22は、サーバ装置12から払い出されたサブネット用の仮想IPアドレスを、配下の端末装置に払い出す機能を持つ。
【0023】
(サーバ装置)
上記のような制御をするために、サーバ装置12は、図1(a)に示すように、VPNサーバ24、SIPサーバ26、STUNサーバ28、運用管理サーバ30の機能を備える。いずれも、サーバ装置12のコンピュータに所定の機能を付与するコンピュータプログラムにより動作し、サーバ装置12の機能モジュールとして動作する。
【0024】
図2は、サーバ装置による端末装置の初期設定のための機能ブロック図である。
サーバ装置12の記憶装置には、端末装置40にダウンロードするためのユーザエージェントプログラム21が記憶されている。ユーザエージェントプログラム21は、端末装置40のブラウザを使用して、端末装置にダウンロードされる。この図では、ユーザエージェントプログラム21を起動して実現した機能ブロックを、ユーザエージェント22と表示した。サーバ装置12の記憶装置には、端末装置40を登録して管理するためにグループ管理データベース36が記憶されている。
【0025】
グループ管理データベース36は、運用管理サーバ30が生成し、必要に応じて更新して管理する。運用管理サーバ30は、ユーザエージェント22に対して、各端末装置を区別するユーザID44(識別情報)とPW46と仮想IPアドレス48と認証データ50を設定する。さらに、ユーザエージェント22の自動処理に必要な参照データ51を生成して、これらのデータをユーザエージェントプログラム21の付属データとして、記憶装置に記憶させる。
【0026】
ユーザエージェント22は、初期設定の際に、端末装置の記憶装置に、運用管理サーバ30からダウンロードしたユーザID44とPW46と仮想IPアドレス48と認証データ50と参照データ51を記憶させる。運用管理サーバ30は、ユーザエージェント22による初期設定の際に、ユーザエージェント22のグローバルIPアドレス42とポート番号52を取得してグループ管理データベース36に追加する。なお、上記の例では、運用管理サーバがユーザIDを決定した。しかし、ユーザエージェントを使用して、ユーザが自分で選んだユーザIDやPWを入力するようにしても構わない。いずれの場合でも、運用管理データベースには、仮想IPアドレスに対応させて、ユーザIDとPWとが記憶される。
【0027】
(仮想IPアドレス)
仮想IPアドレス48は、サーバ装置12がVPN接続サービスを提供する端末装置群全体について、各端末装置を識別することができるユニークなアドレスである。仮想IPアドレス48は、インターネット上のグローバルIPアドレス42や、既存のローカルネットワークで使用されているIPアドレスとは別のネットワーク空間(閉域網)を構成するために使用する。
【0028】
VPN接続サービスを利用する端末装置のユーザアプリケーションは、仮想IPアドレス48だけを意識して通信を行うことができる。即ち、ユーザエージェントが、相手方のユーザエージェントとの間に、仮想IPアドレス48を使用してVPN接続サービスを利用できる通信路を形成する。ユーザアプリケーションが、仮想IPアドレス48を送信先に設定したデータパケットを送信すると、送信側と受信側のユーザエージェントが、そのデータパケットを受信側のユーザアプリケーションに転送する。従って、ユーザアプリケーションはVPN接続を意識したプログラミングが不要であるという効果がある。
【0029】
サーバ装置12は、仮想IPアドレス48によって、別々のグループに属する端末装置群を切り分けることができる。即ち、グループ毎に一つの仮想サブアドレス空間を設定する。従って、サーバ装置12の運用管理サーバ30は、任意の数のグループについて、それぞれ独立したVPN接続サービスを提供できる。
【0030】
サーバ装置12は、端末装置が新規登録されるたびにひとつ、仮想IPアドレスプール38から仮想IPアドレス48を払い出して割り付ける。配下にローカルエリアネットワークを有するサーバには、配下のサブネット用に、一群の仮想IPアドレス48が払い出される。サーバは、配下の端末装置に一つずつこの仮想IPアドレス48を払い出す。従って、サーバの配下の各端末装置は、この仮想IPアドレス48を使用して、VPN接続サービスを利用できる。即ち、同一グループ内の各端末装置は別の全ての端末装置とメッシュ型のP2P-VPN接続を行うことが可能になる
【0031】
なお、図2において、端末装置40のユーザエージェント22は、運用管理サーバ30からダウンロードされたユーザエージェントプログラム21を起動して生成される。ユーザエージェント22の動作に必要なデータは全て運用管理サーバ30で付加されている。上記のように、端末装置40の記憶装置には、グループ管理データベース36の内容と、ユーザIDリスト45とが記憶される。その後の初期設定は、ユーザエージェント22が自動的に行うので、ユーザは、設定内容の確認程度の操作で、初期設定を完了させることができる。初期設定動作は、後で図5を用いて具体的に説明する。
【0032】
(VPN接続通信路)
図3はVPN接続通信路の説明図である。
図2に示した端末装置40のユーザエージェント22は、自動的に図に示した太い実線のセンターVPN接続通信路32を形成する。既に説明したように、この状態は継続的に維持される。
【0033】
ここで、いずれかの端末装置か、あるいはその端末装置の配下にある端末装置から、P2P-VPN接続の要求があると、まず、センターVPN接続通信路32を使用したサーバ装置12を経由するルートで、ユーザエージェント22間の情報交換が行われる。このとき取得されたグローバルIPアドレス42とポート番号52とを使用して、サーバ装置12を経由しない太い破線のP2P-VPN接続通信路34が形成される。
【0034】
図3の(a)において、P2P-VPN接続通信路34は、例えば、スマートフォン18とパーソナルコンピュータ20(1)との間に形成される。また、例えば、ルータ16(1)とルータ16(2)との間に形成することもできる。図3(b)に示すように、スマートフォン18とルータ16(1)の間にP2P-VPN接続通信路34を形成すると、スマートフォン18とルータ16(1)の配下のパーソナルコンピュータ20(2)との間の通信ができる。P2P-VPN接続通信路34は、必要に応じて形成され、使用しない場合には、自動的に消滅するように制御される。
【0035】
(VPNサーバ)
以下、サーバ装置12の各部の機能を順に説明する。VPNサーバ24は、ユーザエージェント22を組み込んだ全ての端末装置とVPN接続をして、センターVPN接続通信路32を形成し維持する機能を持つ。VPNサーバ24は、認証処理機能と通信データの暗号化機能を備える。認証処理にはグループ管理データベース36に記憶した認証データ50を参照する。
【0036】
(SIPサーバ)
SIPサーバ26は、SIP(Session Initiation Protocol)による端末装置間の通信を制御する機能を持つ。SIPサーバ26は、VPNサーバ24の形成したVPN接続通信路32を利用して、ユーザエージェント22を組み込んだ端末装置とSIP通信を行い、認証処理を行うとともに、端末装置間でP2P接続を行うための、グローバルIPアドレス42とポート番号52を相互に通知する通信を制御する。
【0037】
(STUNサーバ)
STUN(Session Traversal Utility for NAT)サーバは、各端末装置が接続されているネットワーク14のNAT(Network Address Translation)越えのための情報を、P2P通信を要求する端末装置に通知する機能を持つ。STUNサーバ28は、端末装置が接続されたルータ16の外側(WAN側)の グローバルIPアドレス42と、ルータ16の内側(LAN側)のポート番号52(プライベートアドレス)とを取得する。端末装置のユーザエージェント22がP2P通信を要求すると、STUNサーバ28はこの情報を取得して、要求元のユーザエージェント22に伝える。
【0038】
(運用管理サーバ)
運用管理サーバ30は、既に説明したとおりの端末装置の新規登録手続きのほかに、通信履歴管理を行う。通信履歴管理とは、端末装置間でP2P接続が行われた場合に、その接続開始から終了までの動作履歴を記憶装置に記憶する処理である。さらに、端末装置との間に形成したセンターVPN接続通信路32を維持管理する。また、端末装置間に形成されたP2P-VPN接続通信路34を監視して、用済みの場合に自動的に消滅させる制御も行う。
【0039】
(センタVPNセッション管理)
運用管理サーバ30は、ユーザエージェント22が組み込まれた全ての端末装置に対して、所定のタイミングで定期的にVPN接続を維持することを要求する。この動作をセンタVPNセッションと呼び、端末装置が動作している間は常時VPN接続を維持させる。これにより、サーバ装置12は、ユーザエージェント22が組み込まれた全ての端末装置の状態を監視することができる。さらに、端末装置同士がP2PによるVPN接続を行う場合に、SIPプロトコルによる呼制御を随時セキュアに行うことができる。
【0040】
(P2P-VPNセッションの確立)
図4は、サーバ装置と端末装置の内部機能ブロック図である。
図のように、サーバ装置のDMZセグメント54(DeMilitarized Zone)には、VPNサーバ24とSTUNサーバ28とが設けられている。DMZセグメント54の部分はファイアウォールで囲まれている。SIPサーバ26と運用管理サーバ30とは、VPNサーバ24の裏側にあって、非DMZセグメント56に設けられている。SIPサーバ26と運用管理サーバ30とはVPNサーバ24を介してネットワーク14に接続される。
【0041】
図4の例には、2台の端末装置40(1)40(2)を示した。端末装置40(1)には、ユーザエージェント22(1)が組み込まれている。端末装置40(2)には、ユーザエージェント22(2)が組み込まれている。いずれのユーザエージェントにも、VPNクライアント62と、VPN P2Pサーバ66と、VPN P2Pクライアント64と自動制御モジュール58とが設けられている。また、自動制御モジュール58は、端末装置の入出力インタフェース60に接続されて、必要な情報が端末装置のユーザにより入力される。
【0042】
ユーザエージェント22のVPNクライアント62は、サーバ装置12のVPNサーバ24と通信をして、自動的にVPN接続のための初期設定をし、センターVPN接続通信路32を形成する機能を持つ。ユーザは、入出力インタフェース60を通じてパスワードを入力する程度の操作で設定を完了する。自動制御モジュール58は、入出力インタフェース60を通じてユーザに対して設定データ等の情報を出力し、パスワード等の入力を受け付ける。入出力インタフェース60には、図示しない端末装置のキーボードやディスプレイが接続される。
【0043】
VPNクライアント62は、例えば、数時間おきに運用管理サーバ30にアクセスして、センターVPN接続通信路32を維持するとともに、最新の設定情報を取得して、保持データを更新する。これにより、運用管理サーバ30は、管理下にある各端末装置がそれぞれ通信可能な状態にあることを認識することができる。
【0044】
初期設定が完了した状態では、ユーザエージェント22(1)と22(2)のVPNクライアント62とサーバ装置12のVPNサーバ24との間に、センターVPN接続通信路32が形成されている。端末装置40(1)が端末装置40(2)との通信を要求したときには、端末装置40(1)のVPN P2Pクライアント64がセンターVPN接続通信路32を利用してSIPサーバ26を経由して端末装置40(2)のVPN P2Pサーバ66と通信を行う。
【0045】
端末装置40(1)のVPN P2Pクライアント64はSTUNサーバ28に対して、自己のグローバルIPアドレスとポート番号52とを問い合わせる。端末装置40(2)のVPN P2Pサーバ66もSTUNサーバ28に対して、自己のグローバルIPアドレスとポート番号52とを問い合わせる。続いて、端末装置40(1)のVPN P2Pクライアント64と端末装置40(2)のVPN P2Pサーバ66がSTUNサーバ28から取得した情報をSIPサーバ26を介して交換する。
【0046】
その後、端末装置40(1)のVPN P2Pクライアント64と端末装置40(2)のVPN P2Pサーバ66との間にP2P-VPN接続通信路34が形成され、P2P-VPNセッションを確立させる。端末装置本体は単に入出力装置として機能する。従って、端末装置本体は、既存のローカルエリアネットワークで使用していた設定はそのまま使用でき、何の変更も要しない。以下、具体的なシーケンスチャートを使用して、各動作を詳細に説明する。
【実施例2】
【0047】
(初期設定動作シーケンス)
図5は、端末装置の初期設定動作を示すシーケンスチャートである。
以下、シーケンスチャートを使用して、図2に示したユーザエージェント22を任意の端末装置に組み込んで、初期設定をする具体的な動作説明をする。サーバ装置12の運用管理サーバ30は、新規登録をする端末装置のために、ユーザエージェントプログラム21と、図のような参照データ51を生成する。この参照データ51により、端末装置40(1)のユーザエージェント22は、ほぼ自動的に初期設定やVPN設定を実行することができる。
【0048】
[個別設定生成]
参照データ51を生成する作業は、システムを納入する専任の技術者により、例えば、ブラウザから行う。実際には、参照データ51は自動生成され、専任の技術者は内容を確認したり選択すればよい。まず、参照データにはユーザ追加登録をしたユーザIDを含める。また、初期設定時にユーザエージェントがVPNサーバへ接続をするために、そのIPアドレスとポート番号を含める。同時に、VPN接続のための認証データ50(図2)を含める。
【0049】
証明書CN、CA証明書、個別証明書、秘密鍵、個別証明書PIN(パスワード)、SIP digest認証用パスワード等が、認証データ50に該当する。また、SIPサーバへの接続のために、そのIPアドレスとポートの情報を含める。
【0050】
また、ルータ間にP2P-VPN接続通信路を形成するときには、専用のサブネットIPアドレスを使用する。P2P-VPN用仮想IPアドレス幅は、その範囲を指定するための情報である。端末装置がサーバの場合には、配下の端末装置に払い出すことができるサブネット用仮想IPアドレスの数を設定する。LAN側IPサブネットアドレスの設定はこれに該当する。また、図2で説明したユーザIDリスト45を含める。P2P-VPN接続先ユーザIDリストが、これに該当する。また、STUNサーバと接続をするためのIPアドレスとポートの情報を含める。
【0051】
以上のようにユーザエージェントプログラム21(図2)と参照データ51を運用管理サーバ30側で準備しておく。そして、図5に示すように、端末装置40(1)からHTTPS個別設定ダウンロード要求があると、準備しておいたデータが端末装置40(1)にダウンロードされる。このデータは、インターネット経由でダウンロードされる。その後、端末装置40(1)において、ユーザエージェントプログラム21を起動して、ユーザエージェント22を組み込む。
【0052】
ユーザエージェント22は初期設定の際に、ユーザに対して、例えば、自身のユーザID44と、PW46と、運用管理サーバのアドレス(IPアドレスもしくはURL)の入力を求める。ユーザには、予め手紙等で、これらの情報が通知されている。ユーザエージェント22はユーザにより入力された情報と記憶装置に記憶された情報とが一致すると、その後は参照データ51を参照して、自動的にVPNサーバ24との接続を開始する。
【0053】
VPNサーバ24と接続をすると、端末装置40(1)とVPNサーバ24との間でDTLSハンドシェークが開始されて、センターVPN接続通信路32を形成するためのセッションを確立する。以上で初期設定とセンターVPN接続テストが完了し、端末装置40(1)の電源をオフする。その後、任意のタイミングで端末装置が起動されると、ユーザエージェント22は自動的にセンターVPNセッションを確立する。図のDTLSハンドシェーク以下の処理は後で図8を用いて説明する。
【0054】
(設定変更)
図6は、既に運用中のシステムの設定を変更する場合の動作シーケンスチャートである。
図のように、端末装置40(1)とVPNサーバ24との間には既にセンターVPN接続通信路32が形成されている。この状態を、図6で、センターVPNセッション確立中と表示している。サーバのアドレス変更やその他の設定変更があった場合には、運用管理サーバ30がVPNサーバ24に対して、その情報を他の端末装置に通知するように依頼する。
【0055】
センタ強制通知がVPNサーバ24を介して端末装置40(1)に送られる。端末装置40(1)は、その通知を受けて、運用管理サーバ30に対して、HTTPS個別設定ダウンロード要求を送信する。その応答により、変更後の設定データが端末装置40(1)にダウンロードされる。端末装置40(1)ではその個別設定の保存をする。なお、ユーザエージェントを組み込んだ新たな端末装置が追加されたときには、図6の手順で、ユーザIDリストの更新だけが実行される。
【0056】
図7はルータの初期設定動作のシーケンスチャートである。
40(1)がルータの場合には、図5で説明したように準備をしたユーザエージェントを組み込んだ後、既存のLANに設置するための処理を実行する。その後、運用管理サーバ30から払い出されたサブネット用仮想IPアドレスを、ローカルエリアネットワーク側の端末装置に払い出す処理を実行する。DTLSハンドシェーク以下がその手順である。
【0057】
端末装置40(1)とVPNサーバ24との間でDTLSハンドシェークを開始し、VPN接続要求をする。端末装置40(1)からVPNサーバ24にユーザID(識別子)を通知して、仮想IPアドレス(vIP)48の払い出しを受ける。これで、VPN接続を完了する。こうして、センターVPNセッション確立中の状態になる。なお、例えば、ルータのユーザエージェントにP2PVPN利用時の仮想IPアドレス192.168.2.0〜192.168.2.255を自動設定する。ルータは、自動設定されたLAN仮想IPアドレスのうち、自身には192.168.2.1を使用し、LAN配下の端末装置に192.168.2.2から順に仮想IPアドレスを払出す。こうして、LAN配下の端末装置全てに仮想IPアドレスが割付られる。
【0058】
(センターVPN接続動作)
図8は、各端末装置のセンターVPN接続通信路32設定動作のシーケンスチャートである。
図において、まず、端末装置40(1)を起動する。その後、ユーザエージェントが自動的に動作して、DTLS(Datagram Transport Layer Security) ハンドシェークプロトコルを実行し、センターVPNセッションを確立する。このとき、ユーザエージェント22は、サーバ装置12のVPNサーバ24から、識別子の交換後、仮想IPアドレス48の払い出しを受ける。ユーザエージェント22はこの仮想IPアドレス48を端末装置上のルーティング情報として登録する。これにより、端末装置には仮想ネットワークインタフェースが自動生成され、利用ユーザにとっては新たなイーサネット(登録商標)インタフェースが一つ増えたように見える。
【0059】
このように、ユーザエージェント22が、サーバ装置12のVPNサーバ24との間のVPN接続によるセッションを自動的に確立するための情報を保持しているので、端末装置自体には何の情報設定も要らないし、何の設定操作も要らない。端末装置を起動したとき、ユーザエージェント22のVPNクライアントは、ダウンロードをして記憶したデータを使用して、サーバ装置12のVPNサーバ24との間のVPN接続を有効にする。
【0060】
その後はSIPサーバ26とSIPプロトコルを実行する。センターVPN接続後にSIPサーバに自身が活性状態にあることをSIP REGISTERメッセージの送信によって確認する。その後はSIPサーバ26とSIPプロトコルを実行する。センターVPN接続後にSIPサーバに自身が活性状態にあることをSIP REGISTERメッセージの送信によって確認通知する。同時に、SIPサーバは、ユーザエージェントのグローバルIPアドレスを取得して、運用管理サーバのグループ管理データベースに登録をする。こうして、運用管理サーバは、管理下の端末装置のユーザエージェントの位置登録をし、センターVPN接続通信路の監視に利用する。ユーザエージェントがP2P-VPN接続を要求したとき、SIPサーバは、その接続要求を中継するために、登録をしたグローバルIPアドレスを利用する。
【0061】
(P2P-VPN接続動作)
図9は、P2P-VPN接続動作シーケンスチャートである。
この前段階で、サーバ装置12と接続要求元の端末装置との間のVPN接続によるセッションを確立して、両者の間にセンターVPN接続通信路32を形成しておく。次に、図のように、SIP REGISTER、SIP REGISTER 200OKと表示した部分で、接続要求元のユーザエージェント22は、VPNP2Pクライアントを起動し、SIPプロトコルを実行する。
【0062】
接続要求元のVPNP2Pクライアントは、STUNサーバ28に依頼をして、接続要求元の端末装置のグローバルIPアドレス42とポート番号52とを取得する。その後、接続要求元の端末装置のユーザIDと、接続相手先の端末装置のユーザIDを指定してSIPサーバ26にINVITEメッセージを送信する。このとき接続要求元のユーザエージェント22は、STUNサーバ28から取得したグローバルIPアドレス42とポート番号52とを、INVITEメッセージ内のボディに付加する。
【0063】
SIPサーバ26は、サーバ装置12のVPNサーバ24に依頼をして、このINVITEメッセージを接続相手先の端末装置のユーザエージェント22に転送する。INVITEメッセージを受信したユーザエージェント22は、VPNP2Pサーバを起動する。VPNP2Pサーバは、接続を許可する200 OKメッセージをSIPサーバ26に送り返す。このとき、VPNP2Pサーバは、接続要求元のユーザエージェント22と同様に、STUNサーバ28に依頼をして、接続要求元の端末装置のグローバルIPアドレス42とポート番号52とを取得し、その情報を200 OKメッセージ内のボディに付加する。
【0064】
SIPサーバ26はこの 200 OKメッセージを接続要求元に転送する。この一連のメッセージ交換により、接続要求元と接続相手先のグローバルIPアドレス42とポート番号52を使用したP2P-VPN接続通信路34を形成することができる。その後は、接続要求元のVPNP2Pクライアントと接続相手先のVPNP2Pサーバとがインターネットを通じて直接通信をして、P2PVPN接続のためのセッションを確立する。
【0065】
即ち、図において、DTLSハンドシェークを実行し、識別子の交換をしてから、接続相手先の端末装置に対して゛仮想IPアドレスの払い出しをする。先に説明したように、P2P-VPN接続通信路34を形成した端末装置間には、P2PVPN接続専用のサブネットIPアドレスが使用される。その後、両端末装置間に形成されたVPN接続通信路を利用して、安全なデータ送受信を行うことができる。このP2PVPN接続のためのセッションが終了すると、P2PVPN接続のためのVPN接続通信路は消滅する。
【0066】
(管理動作)
図10は、P2P-VPN接続通信路34の管理動作シーケンスチャートである。
図のように、P2P-VPNセッションが確立した状態で、SIPプロトコルが終了したときや、通信が停止してタイムアウトになったとき、あるいは、端末装置やサーバ装置等のいずれかの装置から強制終了コマンドが発せられたときには、P2P-VPNセッションを終了する。P2P-VPN接続通信路34は任意のタイミングで任意の数だけ形成されるから、不要なセッションは自動的に消滅させて、サブネットIPアドレスを有効に使用する。
【0067】
以上のように、ユーザエージェント22とサーバ装置の連携により、VPN接続と通信に必要な様々な処理を自動化し、サーバ装置にインターネット等のネットワークを介して直接接続された端末装置も、それ以外の端末装置も、自由に簡便に、P2P-VPN接続サービスを受けることが可能になる。
【符号の説明】
【0068】
10 VPN接続管理システム
12 サーバ装置
14 ネットワーク
16 ルータ
18 スマートフォン
20 パーソナルコンピュータ
21 ユーザエージェントプログラム
22 ユーザエージェント
24 VPNサーバ
26 SIPサーバ
28 STUNサーバ
30 運用管理サーバ
32 センターVPN接続通信路
34 P2P-VPN接続通信路
36 グループ管理データベース
38 仮想IPアドレスプール
40 端末装置
42 グローバルIPアドレス
44 ユーザID
45 ユーザIDリスト
46 PW
48 仮想IPアドレス
50 認証データ
51 参照データ
52 ポート番号
54 DMZセグメント
56 非DMZセグメント
58 自動制御モジュール
60 入出力インタフェース
62 VPNクライアント
64 VPN P2Pクライアント
66 VPN P2Pサーバ

【特許請求の範囲】
【請求項1】
サーバ装置と、このサーバ装置にネットワークを介して接続された端末装置群により構成され、
前記各端末装置には、前記サーバ装置と連携して動作するユーザエージェントが組み込まれており、
前記サーバ装置は、VPNサーバとSIP(Session Initiation Protocol)サーバとSTUN(Session Traversal Utility for NAT)サーバと運用管理サーバとを含み、
前記VPNサーバは、前記端末装置との間に、システムの運用中は継続的に維持されるセンターVPN接続通信路を形成する機能を持ち、
前記SIPサーバは、前記センターVPN接続通信路を利用して前記端末装置と通信を行い、かつ、前記複数の端末装置間に前記サーバ装置を経由しないP2P(Peer to Peer)-VPN接続通信路を形成するために必要な情報の交換をする通信の制御を行い、
前記STUNサーバは、前記P2P-VPN接続通信路を形成するために必要な、通信要求元と通信相手先のグローバルIPアドレスとポート番号とを取得して該当する端末装置に通知する機能を持ち、
前記運用管理サーバは、前記端末装置へ組み込むユーザエージェントが動作中に参照する参照データを生成し、前記管理下の全ての端末装置を区別するためのユーザIDと仮想IPアドレスを払い出して、同時に、前記端末装置のユーザIDと仮想IPアドレスと証明書とを含むグループ管理データベースを記憶装置に記憶し、
前記VPNサーバとSTUNサーバとは、いずれかの端末装置と通信を行う場合に、前記グループ管理データベースを参照して前記端末装置の認証を行い、
前記ユーザエージェントは、
前記参照データを参照して、前記VPNサーバと通信をして前記センターVPN接続通信路を形成し、他の端末装置と前記サーバ装置を経由しないVPN接続を利用したP2P(Peer to Peer)通信を要求する場合に、前記サーバ装置のSTUNサーバと通信をして、前記P2P-VPN接続通信路を形成するために必要な、グローバルIPアドレスとポート番号とを取得し、前記SIPサーバと通信をして、前記センターVPN接続通信路を利用して、前記STUNサーバから取得した前記グローバルIPアドレスとポート番号とを、相手方の端末装置に通知して、前記複数の端末装置間に前記サーバ装置を経由しないP2P(Peer to Peer)-VPN接続通信路を形成することを特徴とするVPN接続管理システム。
【請求項2】
ネットワークを介して接続された端末装置群にVPN接続サービスを提供するためのサーバ装置であって、
VPNサーバとSIP(Session Initiation Protocol)サーバとSTUN(Session Traversal Utility for NAT)サーバと運用管理サーバとを含み、
前記VPNサーバは、前記端末装置との間に、システムの運用中は継続的に維持されるセンターVPN接続通信路を形成する機能を持ち、
前記SIPサーバは、前記センターVPN接続通信路を利用して前記端末装置と通信を行い、かつ、前記複数の端末装置間に前記サーバ装置を経由しないP2P(Peer to Peer)-VPN接続通信路を形成するために必要な情報の交換をする通信の制御を行い、
前記STUNサーバは、前記P2P-VPN接続通信路を形成するために必要な、通信要求元と通信相手先のグローバルIPアドレスとポート番号とを取得して該当する端末装置に通知する機能を持ち、
前記運用管理サーバは、前記端末装置へ組み込むユーザエージェントが動作中に参照する参照データを生成し、前記管理下の全ての端末装置を区別するためのユーザIDと仮想IPアドレスを払い出して、同時に、前記端末装置のユーザIDと仮想IPアドレスと証明書とを含むグループ管理データベースを記憶装置に記憶し、
前記VPNサーバとSTUNサーバとは、いずれかの端末装置と通信を行う場合に、前記グループ管理データベースを参照して前記端末装置の認証を行い、
前記ユーザエージェントは、前記参照データを参照して、前記VPNサーバと通信をして前記センターVPN接続通信路を形成し、他の端末装置と前記サーバ装置を経由しないVPN接続を利用したP2P(Peer to Peer)通信を要求する場合に、前記サーバ装置のSTUNサーバと通信をして、前記P2P-VPN接続通信路を形成するために必要な、グローバルIPアドレスとポート番号とを取得し、前記SIPサーバと通信をして、前記センターVPN接続通信路を利用して、前記STUNサーバから取得した前記グローバルIPアドレスとポート番号とを、相手方の端末装置に通知して、前記複数の端末装置間に前記サーバ装置を経由しないP2P(Peer to Peer)-VPN接続通信路を形成するものであることを特徴とするサーバ装置。
【請求項3】
ネットワークを介して接続されたサーバ装置により、VPN接続サービスを受けるために、端末装置に組み込まれるものであって、
運用管理サーバから、VPNサーバとSTUNサーバとSIPサーバのIPアドレスとポート番号と認証データを含む参照データを取得して、
前記参照データを参照して、前記VPNサーバと通信をして前記センターVPN接続通信路を形成し、
他の端末装置と前記サーバ装置を経由しないVPN接続を利用したP2P(Peer to Peer)通信を要求する場合に、
前記サーバ装置のSTUNサーバと通信をして、前記P2P-VPN接続通信路を形成するために必要な、グローバルIPアドレスとポート番号とを取得し、
前記SIPサーバと通信をして、前記センターVPN接続通信路を利用して、前記STUNサーバから取得した前記グローバルIPアドレスとポート番号とを、相手方の端末装置に通知して、
前記複数の端末装置間に前記サーバ装置を経由しないP2P(Peer to Peer)-VPN接続通信路を形成するものであることを特徴とするユーザエージェント。
【請求項4】
請求項1に記載のVPN接続管理システムにおいて、
前記ユーザエージェントを組み込んだ端末装置はルータであって、前記運用管理サーバから払い出された仮想IPアドレスを配下のユーザエージェントを組み込まない端末装置に払い出し、いずれの端末装置も、前記仮想IPアドレスを使用して、前記ユーザエージェントを組み込んだ端末装置の間に形成されたP2P-VPN接続通信路を使用して、VPN通信を行うことを特徴とするVPN接続管理システム。
【請求項5】
サーバ装置のコンピュータを、
請求項2に記載のVPNサーバとSIPサーバとSTUNサーバと運用管理サーバとして機能させるコンピュータプログラム。
【請求項6】
サーバ装置のコンピュータを、
請求項2に記載のVPNサーバとSIPサーバとSTUNサーバと運用管理サーバとして機能させるコンピュータプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項7】
端末装置のコンピュータを、
請求項3に記載のユーザエージェントして機能させるコンピュータプログラム。
【請求項8】
端末装置のコンピュータを、
請求項3に記載のユーザエージェントして機能させるコンピュータプログラムを記録したコンピュータで読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate