(57)【要約】【課題】安価なインターネット回線を利用して、リアルタイムマルチメディア通信に適したVPN（Virtual Private Network）接続サービスを提供する。【解決手段】ネットワーク１４に直接接続された端末装置には、ユーザエージェント２２が組み込まれる。サーバ装置１２は、ユーザエージェント２２を組み込んだ端末装置との間に、センターVPN接続通信路３２を形成して、継続的に維持する。ユーザエージェント２２を組み込んだ端末装置は、このセンターVPN接続通信路３２を通じて、P2P（Peer to Peer）接続による通信を開始するために必要な情報を送受信する。これにより、端末装置間に、P2P-VPN接続通信路３４が形成される。ユーザエージェント２２を組み込んだ端末装置のみならず、ルータ１６（１）、１６（２）の配下の端末装置も、そのP2P-VPN接続通信路を利用する。【選択図】図１
2013038684.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と、このサーバ装置にネットワークを介して接続された端末装置群により構成され、
前記各端末装置には、前記サーバ装置と連携して動作するユーザエージェントが組み込まれており、
前記サーバ装置は、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接続サービスを提供するためのサーバ装置であって、
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接続サービスを受けるために、端末装置に組み込まれるものであって、
運用管理サーバから、VPNサーバとSTUNサーバとSIPサーバのＩＰアドレスとポート番号と認証データを含む参照データを取得して、
前記参照データを参照して、前記VPNサーバと通信をして前記センターVPN接続通信路を形成し、
他の端末装置と前記サーバ装置を経由しないVPN接続を利用したP2P（Peer to Peer）通信を要求する場合に、
前記サーバ装置のSTUNサーバと通信をして、前記P2P-VPN接続通信路を形成するために必要な、グローバルIPアドレスとポート番号とを取得し、
前記SIPサーバと通信をして、前記センターVPN接続通信路を利用して、前記STUNサーバから取得した前記グローバルIPアドレスとポート番号とを、相手方の端末装置に通知して、
前記複数の端末装置間に前記サーバ装置を経由しないP2P（Peer to Peer）-VPN接続通信路を形成するものであることを特徴とするユーザエージェント。
【請求項４】
請求項１に記載のＶＰＮ接続管理システムにおいて、
前記ユーザエージェントを組み込んだ端末装置はルータであって、前記運用管理サーバから払い出された仮想ＩＰアドレスを配下のユーザエージェントを組み込まない端末装置に払い出し、いずれの端末装置も、前記仮想ＩＰアドレスを使用して、前記ユーザエージェントを組み込んだ端末装置の間に形成されたP2P-VPN接続通信路を使用して、VPN通信を行うことを特徴とするＶＰＮ接続管理システム。
【請求項５】
サーバ装置のコンピュータを、
請求項２に記載のVPNサーバとSIPサーバとSTUNサーバと運用管理サーバとして機能させるコンピュータプログラム。
【請求項６】
サーバ装置のコンピュータを、
請求項２に記載のVPNサーバとSIPサーバとSTUNサーバと運用管理サーバとして機能させるコンピュータプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項７】
端末装置のコンピュータを、
請求項３に記載のユーザエージェントして機能させるコンピュータプログラム。
【請求項８】
端末装置のコンピュータを、
請求項３に記載のユーザエージェントして機能させるコンピュータプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安価なインターネット回線を利用して、任意の端末装置群に対して簡便なＶＰＮ接続サービスを提供するＶＰＮ接続管理システムに関する。
【背景技術】
【０００２】
電話回線を使用するデータ通信はセキュリティが高い利点を有する反面、帯域が狭くて伝送遅延が生じるという問題がある。広帯域の専用線を使用すれば帯域を確保できる反面、通信コストが高くなるという問題がある。これに対して、廉価なインターネット通信回線を使用して、セキュリティの高いＶＰＮ（Virtual Private Network）接続による広帯域通信を実現するシステムが開発されている（特許文献１）（特許文献２）（特許文献３）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２０３５７５号公報
【特許文献２】特開２００５−２６０７１５号公報
【特許文献３】特開２００５−２２９４３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
既知の従来の技術には、次のような解決すべき課題があった。
上記の文献に記載の技術によれば、インターネット通信回線を使用し、セキュリティの高いＶＰＮ接続を利用して、端末装置間のP2P（Peer to Peer）接続を実現できる。しかしながら、家電製品や防犯装置等、ネット対応機器が普及し、近年のスマートフォン等の普及もあいまって、多種多様な端末装置が出現している。これらの端末装置全てについて、セキュリティの高いＶＰＮ接続の要求が高まることが予想される。この場合に、複雑な手順を必要とするＶＰＮ接続設定が普及の障壁となり得る。本発明は、以上の課題を解決するためになされたものである。
上記の課題を解決するために、本発明は次のようなＶＰＮ接続管理システムを提供することを目的とする。
（１）安価なインターネット回線を利用して、リアルタイムマルチメディア通信に適したVPN（Virtual Private Network）接続サービスを提供する。
（２）端末装置間のVPN通信をP2P（Peer to Peer）接続により実現して、通信を制御するサーバ装置等の負荷を軽減する。
（３）VPN接続のための設定を自動化して、様々な端末装置の利用を簡便にする。
（４）自由に拡張できる任意の端末装置群に対してVPN接続サービスを提供し管理する。
（５）任意の端末装置の現在の状態及び、全ての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接続通信路を形成することを特徴とするＶＰＮ接続管理システム。
【０００６】
〈構成２〉
ネットワークを介して接続された端末装置群に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接続通信路を形成するものであることを特徴とするサーバ装置。
【０００７】
〈構成３〉
ネットワークを介して接続されたサーバ装置により、VPN接続サービスを受けるために、端末装置に組み込まれるものであって、前記参照データを参照して、前記VPNサーバと通信をして前記センターVPN接続通信路を形成し、他の端末装置と前記サーバ装置を経由しないVPN接続を利用したP2P（Peer to Peer）通信を要求する場合に、前記サーバ装置のSTUNサーバと通信をして、前記P2P-VPN接続通信路を形成するために必要な、グローバルIPアドレスとポート番号とを取得し、前記SIPサーバと通信をして、前記センターVPN接続通信路を利用して、前記STUNサーバから取得した前記グローバルIPアドレスとポート番号とを、相手方の端末装置に通知して、前記複数の端末装置間に前記サーバ装置を経由しないP2P（Peer to Peer）-VPN接続通信路を形成するものであることを特徴とするユーザエージェント。
【０００８】
〈構成４〉
請求項１に記載のＶＰＮ接続管理システムにおいて、前記ユーザエージェントを組み込んだ端末装置はルータであって、前記運用管理サーバから払い出された仮想ＩＰアドレスを配下のユーザエージェントを組み込まない端末装置に払い出し、いずれの端末装置も、前記仮想ＩＰアドレスを使用して、前記ユーザエージェントを組み込んだ端末装置の間に形成されたP2P-VPN接続通信路を使用して、VPN通信を行うことを特徴とするＶＰＮ接続管理システム。
【０００９】
〈構成５〉
サーバ装置のコンピュータを、構成２に記載のVPNサーバとSIPサーバとSTUNサーバと運用管理サーバとして機能させるコンピュータプログラム。
【００１０】
〈構成６〉
サーバ装置のコンピュータを、構成２に記載のVPNサーバとSIPサーバとSTUNサーバと運用管理サーバとして機能させるコンピュータプログラムを記録したコンピュータで読み取り可能な記録媒体。
【００１１】
〈構成７〉
端末装置のコンピュータを、構成３に記載のユーザエージェントして機能させるコンピュータプログラム。
【００１２】
〈構成８〉
端末装置のコンピュータを、構成３に記載のユーザエージェントして機能させるコンピュータプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の効果】
【００１３】
（１）端末装置にユーザエージェントを組み込むと、ユーザエージェントが自動的サーバ装置との間にセンターVPN接続通信路の設定を実行する。さらに、センターVPN接続通信路を経由してサーバ装置から必要なデータを取得し、端末装置間に自動的に、P2P-VPN接続通信路を形成する。端末装置やユーザは、VPN接続を意識した制御や操作を必要としない。端末装置は、ルータであってもよい。ルータの配下の端末装置も、簡単にVPN接続サービスの提供を受けることができる。
（２）各端末装置は、相互にP2P接続により直接VPN通信ができるため、サーバ装置を中継する通信方式よりも信号の伝送遅延が生じ難い。従って、音声や画像データのリアルタイム通信に適する。
（３）サーバ装置は端末装置間のP2P-VPN接続の開始を制御し、その後の端末装置間の通信にはP2P-VPN接続通信路を使用するので、サーバ装置の負担が軽い。
（３）サーバ装置は、複数のグループを別個に管理することができる。
（４）VPN接続通信路の設定をユーザエージェントが代行するため、例えば、端末装置が接続されているローカルエリアネットワーク内での既存の通信に全く影響を及ぼさない。端末装置のアプリケーションは、VPN接続をする場合と、それ以外の場合の切り替え操作が不要である。
（５）P2PのVPN通信を行う端末装置双方がそれぞれNAT（Network Address translator）装置の配下に設置されている場合でも、ユーザエージェントが自動的にNAT越えの制御を行うため、NAT装置への設定を行う必要がなく、利用者に負担が掛からない。
【図面の簡単な説明】
【００１４】
【図１】本発明のＶＰＮ接続管理システムの概略説明図である。
【図２】サーバ装置による端末装置の初期設定のための機能ブロック図である。
【図３】VPN接続通信路の説明図である。
【図４】サーバ装置と端末装置の内部機能ブロック図である。
【図５】端末装置の初期設定動作を示すシーケンスチャートである。
【図６】既に運用中のシステムの設定を変更する場合の動作シーケンスチャートである。
【図７】ルータの初期設定動作のシーケンスチャートである。
【図８】各端末装置のセンターVPN接続通信路３２設定動作のシーケンスチャートである。
【図９】P2P-VPN接続動作シーケンスチャートである。
【図１０】P2P-VPN接続通信路３４の管理動作シーケンスチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を実施例毎に詳細に説明する。
【実施例１】
【００１６】
図１は、本発明のＶＰＮ接続管理システムの概略説明図である。
このＶＰＮ接続管理システム１０は、図１（ａ）に示すように、サーバ装置１２と、VPN接続サービスを受ける端末装置群により構成される。端末装置群は、例えば、図のように、サーバ装置１２とネットワーク１４を介して接続されたＰＣ（パーソナルコンピュータ）２０（１）、やスマートフォン１８やルータ１６（１）、１６（２）等である。ネットワーク１４はインターネット等の広域ネットワークである。ルータ１６（１）、１６（２）の配下には、破線の楕円で示したローカルネットワークが接続されている。ルータ１６（１）の配下にあるパーソナルコンピュータ２０（２）も、VPN接続サービスを受ける端末装置に含まれる。
【００１７】
端末装置群は、複数のグループに分かれていてよく、それぞれ、後で説明する仮想ＩＰアドレスにより区別された別個独立したネットワーク（閉域網）を構成することができる。ネットワーク１４に直接接続された端末装置には、ユーザエージェント２２が組み込まれる。サーバ装置１２は、ユーザエージェント２２を組み込んだ端末装置を、グループ管理データベース３６に登録する。
【００１８】
図１（ｂ）に示すように、サーバ装置１２は、ユーザエージェント２２を組み込んだ端末装置との間に、センターVPN接続通信路３２を形成して、継続的に維持する。ユーザエージェント２２を組み込んだ端末装置は、このセンターVPN接続通信路３２を通じて、P2P（Peer to Peer）接続による通信を開始するために必要な情報を送受信する。これにより、端末装置間に、P2P-VPN接続通信路３４が形成される。ユーザエージェント２２を組み込んだ端末装置のみならず、ルータ１６（１）、１６（２）の配下の端末装置も、そのP2P-VPN接続通信路を利用して、安全にP2P（Peer to Peer）接続による通信を行うことができる。
【００１９】
（ユーザエージェント）
ＮＡＴ越えのP2P-VPN通信を実現する技術は知られている。しかしながら、VPN接続通信路の設定やアドレス管理には複雑な処理が必要になる。これはユーザに大きな負担になる。本発明のシステムでは、ユーザエージェント２２に、一定の自動制御をさせることで、ユーザの負担を軽減するとともに、拡張性の高いシステムを実現している。
【００２０】
インターネット等の不特定人に共用されるネットワーク１４を介して直接サーバ装置１２と接続される端末装置には、ユーザエージェント２２が組み込まれる。ユーザエージェント２２は、端末装置のコンピュータに所定の機能を付与するコンピュータプログラムにより動作し、端末装置の機能モジュールとして動作する。
【００２１】
ユーザエージェント２２は、サーバ装置１２と連携して動作する。ユーザエージェント２２は、端末装置をサーバ装置１２の管理下におくための初期登録処理を自動的に実行する機能を持つ。このとき、サーバ装置は、端末装置に対して、固有の仮想ＩＰアドレスを払い出す。ユーザエージェント２２は、端末装置とサーバ装置１２との間にセンターVPN接続通信路３２（実線の矢印）を形成するための設定を自動的に実行する機能を持つ。
【００２２】
さらに、ユーザエージェント２２は、他の端末装置との間にP2P-VPN接続通信路３４（破線の矢印）を形成して、P2P接続による通信の開始のための処理を自動的に実行する機能を持つ。また、端末装置がルータの場合には、別の端末装置を配下に持つ。このとき、ユーザエージェント２２は、サーバ装置１２から払い出されたサブネット用の仮想ＩＰアドレスを、配下の端末装置に払い出す機能を持つ。
【００２３】
（サーバ装置）
上記のような制御をするために、サーバ装置１２は、図１（ａ）に示すように、VPNサーバ２４、SIPサーバ２６、STUNサーバ２８、運用管理サーバ３０の機能を備える。いずれも、サーバ装置１２のコンピュータに所定の機能を付与するコンピュータプログラムにより動作し、サーバ装置１２の機能モジュールとして動作する。
【００２４】
図２は、サーバ装置による端末装置の初期設定のための機能ブロック図である。
サーバ装置１２の記憶装置には、端末装置４０にダウンロードするためのユーザエージェントプログラム２１が記憶されている。ユーザエージェントプログラム２１は、端末装置４０のブラウザを使用して、端末装置にダウンロードされる。この図では、ユーザエージェントプログラム２１を起動して実現した機能ブロックを、ユーザエージェント２２と表示した。サーバ装置１２の記憶装置には、端末装置４０を登録して管理するためにグループ管理データベース３６が記憶されている。
【００２５】
グループ管理データベース３６は、運用管理サーバ３０が生成し、必要に応じて更新して管理する。運用管理サーバ３０は、ユーザエージェント２２に対して、各端末装置を区別するユーザＩＤ４４（識別情報）とＰＷ４６と仮想ＩＰアドレス４８と認証データ５０を設定する。さらに、ユーザエージェント２２の自動処理に必要な参照データ５１を生成して、これらのデータをユーザエージェントプログラム２１の付属データとして、記憶装置に記憶させる。
【００２６】
ユーザエージェント２２は、初期設定の際に、端末装置の記憶装置に、運用管理サーバ３０からダウンロードしたユーザＩＤ４４とＰＷ４６と仮想ＩＰアドレス４８と認証データ５０と参照データ５１を記憶させる。運用管理サーバ３０は、ユーザエージェント２２による初期設定の際に、ユーザエージェント２２のグローバルＩＰアドレス４２とポート番号５２を取得してグループ管理データベース３６に追加する。なお、上記の例では、運用管理サーバがユーザＩＤを決定した。しかし、ユーザエージェントを使用して、ユーザが自分で選んだユーザＩＤやＰＷを入力するようにしても構わない。いずれの場合でも、運用管理データベースには、仮想ＩＰアドレスに対応させて、ユーザＩＤとＰＷとが記憶される。
【００２７】
（仮想ＩＰアドレス）
仮想ＩＰアドレス４８は、サーバ装置１２がVPN接続サービスを提供する端末装置群全体について、各端末装置を識別することができるユニークなアドレスである。仮想ＩＰアドレス４８は、インターネット上のグローバルＩＰアドレス４２や、既存のローカルネットワークで使用されているＩＰアドレスとは別のネットワーク空間（閉域網）を構成するために使用する。
【００２８】
VPN接続サービスを利用する端末装置のユーザアプリケーションは、仮想ＩＰアドレス４８だけを意識して通信を行うことができる。即ち、ユーザエージェントが、相手方のユーザエージェントとの間に、仮想ＩＰアドレス４８を使用してVPN接続サービスを利用できる通信路を形成する。ユーザアプリケーションが、仮想ＩＰアドレス４８を送信先に設定したデータパケットを送信すると、送信側と受信側のユーザエージェントが、そのデータパケットを受信側のユーザアプリケーションに転送する。従って、ユーザアプリケーションはＶＰＮ接続を意識したプログラミングが不要であるという効果がある。
【００２９】
サーバ装置１２は、仮想ＩＰアドレス４８によって、別々のグループに属する端末装置群を切り分けることができる。即ち、グループ毎に一つの仮想サブアドレス空間を設定する。従って、サーバ装置１２の運用管理サーバ３０は、任意の数のグループについて、それぞれ独立したVPN接続サービスを提供できる。
【００３０】
サーバ装置１２は、端末装置が新規登録されるたびにひとつ、仮想ＩＰアドレスプール３８から仮想ＩＰアドレス４８を払い出して割り付ける。配下にローカルエリアネットワークを有するサーバには、配下のサブネット用に、一群の仮想ＩＰアドレス４８が払い出される。サーバは、配下の端末装置に一つずつこの仮想ＩＰアドレス４８を払い出す。従って、サーバの配下の各端末装置は、この仮想ＩＰアドレス４８を使用して、VPN接続サービスを利用できる。即ち、同一グループ内の各端末装置は別の全ての端末装置とメッシュ型のP2P-VPN接続を行うことが可能になる
【００３１】
なお、図２において、端末装置４０のユーザエージェント２２は、運用管理サーバ３０からダウンロードされたユーザエージェントプログラム２１を起動して生成される。ユーザエージェント２２の動作に必要なデータは全て運用管理サーバ３０で付加されている。上記のように、端末装置４０の記憶装置には、グループ管理データベース３６の内容と、ユーザＩＤリスト４５とが記憶される。その後の初期設定は、ユーザエージェント２２が自動的に行うので、ユーザは、設定内容の確認程度の操作で、初期設定を完了させることができる。初期設定動作は、後で図５を用いて具体的に説明する。
【００３２】
（VPN接続通信路）
図３はVPN接続通信路の説明図である。
図２に示した端末装置４０のユーザエージェント２２は、自動的に図に示した太い実線のセンターVPN接続通信路３２を形成する。既に説明したように、この状態は継続的に維持される。
【００３３】
ここで、いずれかの端末装置か、あるいはその端末装置の配下にある端末装置から、P2P-VPN接続の要求があると、まず、センターVPN接続通信路３２を使用したサーバ装置１２を経由するルートで、ユーザエージェント２２間の情報交換が行われる。このとき取得されたグローバルＩＰアドレス４２とポート番号５２とを使用して、サーバ装置１２を経由しない太い破線のP2P-VPN接続通信路３４が形成される。
【００３４】
図３の（ａ）において、P2P-VPN接続通信路３４は、例えば、スマートフォン１８とパーソナルコンピュータ２０（１）との間に形成される。また、例えば、ルータ１６（１）とルータ１６（２）との間に形成することもできる。図３（ｂ）に示すように、スマートフォン１８とルータ１６（１）の間にP2P-VPN接続通信路３４を形成すると、スマートフォン１８とルータ１６（１）の配下のパーソナルコンピュータ２０（２）との間の通信ができる。P2P-VPN接続通信路３４は、必要に応じて形成され、使用しない場合には、自動的に消滅するように制御される。
【００３５】
（VPNサーバ）
以下、サーバ装置１２の各部の機能を順に説明する。VPNサーバ２４は、ユーザエージェント２２を組み込んだ全ての端末装置とVPN接続をして、センターVPN接続通信路３２を形成し維持する機能を持つ。VPNサーバ２４は、認証処理機能と通信データの暗号化機能を備える。認証処理にはグループ管理データベース３６に記憶した認証データ５０を参照する。
【００３６】
（SIPサーバ）
SIPサーバ２６は、SIP（Session Initiation Protocol）による端末装置間の通信を制御する機能を持つ。SIPサーバ２６は、VPNサーバ２４の形成したVPN接続通信路３２を利用して、ユーザエージェント２２を組み込んだ端末装置とSIP通信を行い、認証処理を行うとともに、端末装置間でP2P接続を行うための、グローバルＩＰアドレス４２とポート番号５２を相互に通知する通信を制御する。
【００３７】
（STUNサーバ）
STUN（Session Traversal Utility for NAT）サーバは、各端末装置が接続されているネットワーク１４のNAT（Network Address Translation）越えのための情報を、P2P通信を要求する端末装置に通知する機能を持つ。STUNサーバ２８は、端末装置が接続されたルータ１６の外側（WAN側）の グローバルＩＰアドレス４２と、ルータ１６の内側（LAN側）のポート番号５２（プライベートアドレス）とを取得する。端末装置のユーザエージェント２２がP2P通信を要求すると、STUNサーバ２８はこの情報を取得して、要求元のユーザエージェント２２に伝える。
【００３８】
（運用管理サーバ）
運用管理サーバ３０は、既に説明したとおりの端末装置の新規登録手続きのほかに、通信履歴管理を行う。通信履歴管理とは、端末装置間でP2P接続が行われた場合に、その接続開始から終了までの動作履歴を記憶装置に記憶する処理である。さらに、端末装置との間に形成したセンターVPN接続通信路３２を維持管理する。また、端末装置間に形成されたP2P-VPN接続通信路３４を監視して、用済みの場合に自動的に消滅させる制御も行う。
【００３９】
（センタVPNセッション管理）
運用管理サーバ３０は、ユーザエージェント２２が組み込まれた全ての端末装置に対して、所定のタイミングで定期的にVPN接続を維持することを要求する。この動作をセンタVPNセッションと呼び、端末装置が動作している間は常時VPN接続を維持させる。これにより、サーバ装置１２は、ユーザエージェント２２が組み込まれた全ての端末装置の状態を監視することができる。さらに、端末装置同士がP2PによるVPN接続を行う場合に、SIPプロトコルによる呼制御を随時セキュアに行うことができる。
【００４０】
（P2P-VPNセッションの確立）
図４は、サーバ装置と端末装置の内部機能ブロック図である。
図のように、サーバ装置のＤＭＺセグメント５４（DeMilitarized Zone）には、VPNサーバ２４とSTUNサーバ２８とが設けられている。ＤＭＺセグメント５４の部分はファイアウォールで囲まれている。SIPサーバ２６と運用管理サーバ３０とは、VPNサーバ２４の裏側にあって、非ＤＭＺセグメント５６に設けられている。SIPサーバ２６と運用管理サーバ３０とはVPNサーバ２４を介してネットワーク１４に接続される。
【００４１】
図４の例には、２台の端末装置４０（１）４０（２）を示した。端末装置４０（１）には、ユーザエージェント２２（１）が組み込まれている。端末装置４０（２）には、ユーザエージェント２２（２）が組み込まれている。いずれのユーザエージェントにも、VPNクライアント６２と、VPN P2Pサーバ６６と、VPN P2Pクライアント６４と自動制御モジュール５８とが設けられている。また、自動制御モジュール５８は、端末装置の入出力インタフェース６０に接続されて、必要な情報が端末装置のユーザにより入力される。
【００４２】
ユーザエージェント２２のVPNクライアント６２は、サーバ装置１２のVPNサーバ２４と通信をして、自動的にVPN接続のための初期設定をし、センターVPN接続通信路３２を形成する機能を持つ。ユーザは、入出力インタフェース６０を通じてパスワードを入力する程度の操作で設定を完了する。自動制御モジュール５８は、入出力インタフェース６０を通じてユーザに対して設定データ等の情報を出力し、パスワード等の入力を受け付ける。入出力インタフェース６０には、図示しない端末装置のキーボードやディスプレイが接続される。
【００４３】
VPNクライアント６２は、例えば、数時間おきに運用管理サーバ３０にアクセスして、センターVPN接続通信路３２を維持するとともに、最新の設定情報を取得して、保持データを更新する。これにより、運用管理サーバ３０は、管理下にある各端末装置がそれぞれ通信可能な状態にあることを認識することができる。
【００４４】
初期設定が完了した状態では、ユーザエージェント２２（１）と２２（２）のVPNクライアント６２とサーバ装置１２のVPNサーバ２４との間に、センターVPN接続通信路３２が形成されている。端末装置４０（１）が端末装置４０（２）との通信を要求したときには、端末装置４０（１）のVPN P2Pクライアント６４がセンターVPN接続通信路３２を利用してSIPサーバ２６を経由して端末装置４０（２）のVPN P2Pサーバ６６と通信を行う。
【００４５】
端末装置４０（１）のVPN P2Pクライアント６４はSTUNサーバ２８に対して、自己のグローバルＩＰアドレスとポート番号５２とを問い合わせる。端末装置４０（２）のVPN P2Pサーバ６６もSTUNサーバ２８に対して、自己のグローバルＩＰアドレスとポート番号５２とを問い合わせる。続いて、端末装置４０（１）のVPN P2Pクライアント６４と端末装置４０（２）のVPN P2Pサーバ６６がSTUNサーバ２８から取得した情報をSIPサーバ２６を介して交換する。
【００４６】
その後、端末装置４０（１）のVPN P2Pクライアント６４と端末装置４０（２）のVPN P2Pサーバ６６との間にP2P-VPN接続通信路３４が形成され、P2P-VPNセッションを確立させる。端末装置本体は単に入出力装置として機能する。従って、端末装置本体は、既存のローカルエリアネットワークで使用していた設定はそのまま使用でき、何の変更も要しない。以下、具体的なシーケンスチャートを使用して、各動作を詳細に説明する。
【実施例２】
【００４７】
（初期設定動作シーケンス）
図５は、端末装置の初期設定動作を示すシーケンスチャートである。
以下、シーケンスチャートを使用して、図２に示したユーザエージェント２２を任意の端末装置に組み込んで、初期設定をする具体的な動作説明をする。サーバ装置１２の運用管理サーバ３０は、新規登録をする端末装置のために、ユーザエージェントプログラム２１と、図のような参照データ５１を生成する。この参照データ５１により、端末装置４０（１）のユーザエージェント２２は、ほぼ自動的に初期設定やVPN設定を実行することができる。
【００４８】
[個別設定生成]
参照データ５１を生成する作業は、システムを納入する専任の技術者により、例えば、ブラウザから行う。実際には、参照データ５１は自動生成され、専任の技術者は内容を確認したり選択すればよい。まず、参照データにはユーザ追加登録をしたユーザＩＤを含める。また、初期設定時にユーザエージェントがＶＰＮサーバへ接続をするために、そのＩＰアドレスとポート番号を含める。同時に、ＶＰＮ接続のための認証データ５０（図２）を含める。
【００４９】
証明書ＣＮ、ＣＡ証明書、個別証明書、秘密鍵、個別証明書ＰＩＮ（パスワード）、ＳＩＰ ｄｉｇｅｓｔ認証用パスワード等が、認証データ５０に該当する。また、ＳＩＰサーバへの接続のために、そのＩＰアドレスとポートの情報を含める。
【００５０】
また、ルータ間にP2P-VPN接続通信路を形成するときには、専用のサブネットＩＰアドレスを使用する。P2P-VPN用仮想ＩＰアドレス幅は、その範囲を指定するための情報である。端末装置がサーバの場合には、配下の端末装置に払い出すことができるサブネット用仮想ＩＰアドレスの数を設定する。ＬＡＮ側ＩＰサブネットアドレスの設定はこれに該当する。また、図２で説明したユーザＩＤリスト４５を含める。P2P-VPN接続先ユーザＩＤリストが、これに該当する。また、ＳＴＵＮサーバと接続をするためのＩＰアドレスとポートの情報を含める。
【００５１】
以上のようにユーザエージェントプログラム２１（図２）と参照データ５１を運用管理サーバ３０側で準備しておく。そして、図５に示すように、端末装置４０（１）からＨＴＴＰＳ個別設定ダウンロード要求があると、準備しておいたデータが端末装置４０（１）にダウンロードされる。このデータは、インターネット経由でダウンロードされる。その後、端末装置４０（１）において、ユーザエージェントプログラム２１を起動して、ユーザエージェント２２を組み込む。
【００５２】
ユーザエージェント２２は初期設定の際に、ユーザに対して、例えば、自身のユーザＩＤ４４と、ＰＷ４６と、運用管理サーバのアドレス（ＩＰアドレスもしくはＵＲＬ)の入力を求める。ユーザには、予め手紙等で、これらの情報が通知されている。ユーザエージェント２２はユーザにより入力された情報と記憶装置に記憶された情報とが一致すると、その後は参照データ５１を参照して、自動的にVPNサーバ２４との接続を開始する。
【００５３】
VPNサーバ２４と接続をすると、端末装置４０（１）とVPNサーバ２４との間でＤＴＬＳハンドシェークが開始されて、センターVPN接続通信路３２を形成するためのセッションを確立する。以上で初期設定とセンターVPN接続テストが完了し、端末装置４０（１）の電源をオフする。その後、任意のタイミングで端末装置が起動されると、ユーザエージェント２２は自動的にセンターVPNセッションを確立する。図のＤＴＬＳハンドシェーク以下の処理は後で図８を用いて説明する。
【００５４】
（設定変更）
図６は、既に運用中のシステムの設定を変更する場合の動作シーケンスチャートである。
図のように、端末装置４０（１）とVPNサーバ２４との間には既にセンターVPN接続通信路３２が形成されている。この状態を、図６で、センターVPNセッション確立中と表示している。サーバのアドレス変更やその他の設定変更があった場合には、運用管理サーバ３０がVPNサーバ２４に対して、その情報を他の端末装置に通知するように依頼する。
【００５５】
センタ強制通知がVPNサーバ２４を介して端末装置４０（１）に送られる。端末装置４０（１）は、その通知を受けて、運用管理サーバ３０に対して、ＨＴＴＰＳ個別設定ダウンロード要求を送信する。その応答により、変更後の設定データが端末装置４０（１）にダウンロードされる。端末装置４０（１）ではその個別設定の保存をする。なお、ユーザエージェントを組み込んだ新たな端末装置が追加されたときには、図６の手順で、ユーザＩＤリストの更新だけが実行される。
【００５６】
図７はルータの初期設定動作のシーケンスチャートである。
４０（１）がルータの場合には、図５で説明したように準備をしたユーザエージェントを組み込んだ後、既存のLANに設置するための処理を実行する。その後、運用管理サーバ３０から払い出されたサブネット用仮想ＩＰアドレスを、ローカルエリアネットワーク側の端末装置に払い出す処理を実行する。ＤＴＬＳハンドシェーク以下がその手順である。
【００５７】
端末装置４０（１）とVPNサーバ２４との間でＤＴＬＳハンドシェークを開始し、VPN接続要求をする。端末装置４０（１）からVPNサーバ２４にユーザＩＤ（識別子）を通知して、仮想ＩＰアドレス（ｖＩＰ）４８の払い出しを受ける。これで、VPN接続を完了する。こうして、センターVPNセッション確立中の状態になる。なお、例えば、ルータのユーザエージェントにP2PVPN利用時の仮想ＩＰアドレス192.168.2.0〜192.168.2.255を自動設定する。ルータは、自動設定されたＬＡＮ仮想ＩＰアドレスのうち、自身には192.168.2.1を使用し、ＬＡＮ配下の端末装置に192.168.2.2から順に仮想ＩＰアドレスを払出す。こうして、ＬＡＮ配下の端末装置全てに仮想ＩＰアドレスが割付られる。
【００５８】
（センターVPN接続動作）
図８は、各端末装置のセンターVPN接続通信路３２設定動作のシーケンスチャートである。
図において、まず、端末装置４０（１）を起動する。その後、ユーザエージェントが自動的に動作して、DTLS（Datagram Transport Layer Security） ハンドシェークプロトコルを実行し、センターVPNセッションを確立する。このとき、ユーザエージェント２２は、サーバ装置１２のVPNサーバ２４から、識別子の交換後、仮想ＩＰアドレス４８の払い出しを受ける。ユーザエージェント２２はこの仮想ＩＰアドレス４８を端末装置上のルーティング情報として登録する。これにより、端末装置には仮想ネットワークインタフェースが自動生成され、利用ユーザにとっては新たなイーサネット（登録商標）インタフェースが一つ増えたように見える。
【００５９】
このように、ユーザエージェント２２が、サーバ装置１２のVPNサーバ２４との間のVPN接続によるセッションを自動的に確立するための情報を保持しているので、端末装置自体には何の情報設定も要らないし、何の設定操作も要らない。端末装置を起動したとき、ユーザエージェント２２のVPNクライアントは、ダウンロードをして記憶したデータを使用して、サーバ装置１２のVPNサーバ２４との間のVPN接続を有効にする。
【００６０】
その後はSIPサーバ２６とＳＩＰプロトコルを実行する。センターＶＰＮ接続後にSIPサーバに自身が活性状態にあることをSIP REGISTERメッセージの送信によって確認する。その後はSIPサーバ２６とＳＩＰプロトコルを実行する。センターＶＰＮ接続後にSIPサーバに自身が活性状態にあることをSIP REGISTERメッセージの送信によって確認通知する。同時に、SIPサーバは、ユーザエージェントのグローバルＩＰアドレスを取得して、運用管理サーバのグループ管理データベースに登録をする。こうして、運用管理サーバは、管理下の端末装置のユーザエージェントの位置登録をし、センターVPN接続通信路の監視に利用する。ユーザエージェントがP2P-VPN接続を要求したとき、SIPサーバは、その接続要求を中継するために、登録をしたグローバルＩＰアドレスを利用する。
【００６１】
（P2P-VPN接続動作）
図９は、P2P-VPN接続動作シーケンスチャートである。
この前段階で、サーバ装置１２と接続要求元の端末装置との間のVPN接続によるセッションを確立して、両者の間にセンターVPN接続通信路３２を形成しておく。次に、図のように、ＳＩＰ  ＲＥＧＩＳＴＥＲ、ＳＩＰ  ＲＥＧＩＳＴＥＲ  ２００ＯＫと表示した部分で、接続要求元のユーザエージェント２２は、VPNP2Pクライアントを起動し、ＳＩＰプロトコルを実行する。
【００６２】
接続要求元のVPNP2Pクライアントは、STUNサーバ２８に依頼をして、接続要求元の端末装置のグローバルＩＰアドレス４２とポート番号５２とを取得する。その後、接続要求元の端末装置のユーザIDと、接続相手先の端末装置のユーザIDを指定してSIPサーバ２６にINVITEメッセージを送信する。このとき接続要求元のユーザエージェント２２は、STUNサーバ２８から取得したグローバルＩＰアドレス４２とポート番号５２とを、INVITEメッセージ内のボディに付加する。
【００６３】
SIPサーバ２６は、サーバ装置１２のVPNサーバ２４に依頼をして、このINVITEメッセージを接続相手先の端末装置のユーザエージェント２２に転送する。INVITEメッセージを受信したユーザエージェント２２は、VPNP2Pサーバを起動する。VPNP2Pサーバは、接続を許可する200 OKメッセージをSIPサーバ２６に送り返す。このとき、VPNP2Pサーバは、接続要求元のユーザエージェント２２と同様に、STUNサーバ２８に依頼をして、接続要求元の端末装置のグローバルＩＰアドレス４２とポート番号５２とを取得し、その情報を200 OKメッセージ内のボディに付加する。
【００６４】
SIPサーバ２６はこの 200 OKメッセージを接続要求元に転送する。この一連のメッセージ交換により、接続要求元と接続相手先のグローバルＩＰアドレス４２とポート番号５２を使用したP2P-VPN接続通信路３４を形成することができる。その後は、接続要求元のVPNP2Pクライアントと接続相手先のVPNP2Pサーバとがインターネットを通じて直接通信をして、P2PVPN接続のためのセッションを確立する。
【００６５】
即ち、図において、ＤＴＬＳハンドシェークを実行し、識別子の交換をしてから、接続相手先の端末装置に対して゛仮想ＩＰアドレスの払い出しをする。先に説明したように、P2P-VPN接続通信路３４を形成した端末装置間には、P2PVPN接続専用のサブネットＩＰアドレスが使用される。その後、両端末装置間に形成されたVPN接続通信路を利用して、安全なデータ送受信を行うことができる。このP2PVPN接続のためのセッションが終了すると、P2PVPN接続のためのVPN接続通信路は消滅する。
【００６６】
（管理動作）
図１０は、P2P-VPN接続通信路３４の管理動作シーケンスチャートである。
図のように、P2P-VPNセッションが確立した状態で、ＳＩＰプロトコルが終了したときや、通信が停止してタイムアウトになったとき、あるいは、端末装置やサーバ装置等のいずれかの装置から強制終了コマンドが発せられたときには、P2P-VPNセッションを終了する。P2P-VPN接続通信路３４は任意のタイミングで任意の数だけ形成されるから、不要なセッションは自動的に消滅させて、サブネットＩＰアドレスを有効に使用する。
【００６７】
以上のように、ユーザエージェント２２とサーバ装置の連携により、VPN接続と通信に必要な様々な処理を自動化し、サーバ装置にインターネット等のネットワークを介して直接接続された端末装置も、それ以外の端末装置も、自由に簡便に、P2P-VPN接続サービスを受けることが可能になる。
【符号の説明】
【００６８】
１０  ＶＰＮ接続管理システム
１２  サーバ装置
１４  ネットワーク
１６  ルータ
１８  スマートフォン
２０  パーソナルコンピュータ
２１  ユーザエージェントプログラム
２２  ユーザエージェント
２４  VPNサーバ
２６  SIPサーバ
２８  STUNサーバ
３０  運用管理サーバ
３２  センターVPN接続通信路
３４  P2P-VPN接続通信路
３６  グループ管理データベース
３８  仮想ＩＰアドレスプール
４０  端末装置
４２  グローバルIPアドレス
４４  ユーザＩＤ
４５  ユーザＩＤリスト
４６  ＰＷ
４８  仮想ＩＰアドレス
５０  認証データ
５１  参照データ
５２  ポート番号
５４  ＤＭＺセグメント
５６  非ＤＭＺセグメント
５８  自動制御モジュール
６０  入出力インタフェース
６２  VPNクライアント
６４  VPN P2Pクライアント
６６  VPN P2Pサーバ
【図１】
2013038684.tif 000003
【図２】
2013038684.tif 000004
【図３】
2013038684.tif 000005
【図４】
2013038684.tif 000006
【図５】
2013038684.tif 000007
【図６】
2013038684.tif 000008
【図７】
2013038684.tif 000009
【図８】
2013038684.tif 000010
【図９】
2013038684.tif 000011
【図１０】
2013038684.tif 000012