(57)【特許請求の範囲】
【請求項１】
外部の情報端末からの接続を受け入れる第１のネットワーク、および前記情報端末が属する第２のネットワークと接続することが可能であり、１つまたは複数のホストサーバからなるＶＰＮサーバホスティングシステムであって、
前記第１のネットワークに属する中継装置によって生成された公開鍵と秘密鍵のペアについて、該公開鍵のハッシュ値に対応させて１のホストサーバを割り当てるサーバ管理手段と、
前記中継装置から、前記秘密鍵によりデジタル署名の施されたＶＰＮ設定情報および前記公開鍵を受信して、該公開鍵によって該デジタル署名が検証された場合に、前記ハッシュ値をＩＤとし、且つ前記ＶＰＮ設定情報により動作を規定されるＶＰＮサーバプロセスを前記割り当てられた１のホストサーバ内に生成するＶＰＮサーバ生成手段と、
前記中継装置ならびに前記情報端末の各々が、前記中継装置が発行したデジタル証明書を提示して前記ＶＰＮサーバプロセスへの接続を要求した際に、該デジタル証明書が前記公開鍵によって検証され、且つ、該中継装置および／または情報端末が、該デジタル証明書に記載されたクライアント公開鍵に対応するクライアント秘密鍵を所有していることを証明できた場合にのみ、該中継装置および／または情報端末と該ＶＰＮサーバプロセスとの接続を許可する通信制御手段と、
を備えることを特徴とするＶＰＮサーバホスティングシステム。
【請求項２】
前記各々のホストサーバは、自分の管理する前記ハッシュ値の範囲を定めた分散ハッシュテーブルを保持しており、
前記サーバ管理手段は、前記分散ハッシュテーブルにしたがってホストサーバの割り当てを行う
ことを特徴とする請求項１に記載のＶＰＮサーバホスティングシステム。
【請求項３】
前記通信制御手段によって許可された接続にかかる通信において、前記中継装置、前記ＶＰＮサーバプロセス、および前記情報端末間で共有される第１のセッション鍵を生成するセッション鍵生成手段と、
前記第１のセッション鍵と、前記通信において前記中継装置と前記情報端末間でのみ共有される第２のセッション鍵とを用いてメッセージ認証コードが付加され、且つ前記第１のセッション鍵を用いてヘッダが、前記第２のセッション鍵を用いてペイロードがそれぞれ暗号化されたパケットに対し、前記第１のセッション鍵を使用してメッセージ認証ならびに前記ヘッダの復号化を行うパケット解析手段と、
をさらに備えることを特徴とする請求項１または請求項２に記載のＶＰＮサーバホスティングシステム。
【請求項４】
第１のネットワークおよび第２のネットワークが１つまたは複数のホストサーバからなるサーバ群によって接続されたネットワークにおいて、
前記第１のネットワークに属する中継装置によって生成された公開鍵と秘密鍵のペアについて、該公開鍵のハッシュ値に対応させて１のホストサーバを割り当てるステップと、
前記中継装置から、前記秘密鍵によりデジタル署名の施されたＶＰＮ設定情報および前記公開鍵を受信して、該公開鍵によって該デジタル署名が検証された場合に、前記ハッシュ値をＩＤとし、且つ前記ＶＰＮ設定情報により動作を規定されるＶＰＮサーバプロセスを前記割り当てられた１のホストサーバ内に生成するステップと、
前記中継装置、ならびに前記第２のネットワークに属する情報端末の各々が、前記中継装置が発行したデジタル証明書を提示して前記ＶＰＮサーバプロセスへの接続を要求した際に、該デジタル証明書が前記公開鍵によって検証され、且つ、該中継装置および／または情報端末が、該デジタル証明書に記載されたクライアント公開鍵に対応するクライアント秘密鍵を所有していることを証明できた場合にのみ、該中継装置および／または情報端末と該ＶＰＮサーバプロセスとを接続させる
ことを特徴とするＶＰＮ構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットワークを仮想的な専用回線で接続するＶＰＮにかかり、特に、ユーザが多数の場合にＶＰＮサーバを分散して管理するＶＰＮサーバホスティングシステム、および同システムによるＶＰＮ構築方法に関する。
【背景技術】
【０００２】
近年、インターネットの常時接続環境が普及してきていることや、ＡＶ機器等の家電製品にネットワーク対応型の製品が増加していることなどを背景として、一般家庭においても、外出先から家庭内の通信機器に対するリモートアクセスの需要が高まりつつある。こうした要求に応えるため、利用者毎に仮想的な専用回線であるＶＰＮ（Virtual Private Network）を構築することにより、リモートアクセスの環境を提供するということが考えられる。
【０００３】
ここで、ＶＰＮは、暗号化技術を利用してインターネット上の２地点間を接続して構成された仮想的な閉じたネットワークであり、離れた場所にあるコンピュータ同士があたかも１つのＬＡＮ（Local Area Network）に接続されているのと同じように、第三者による盗聴などを防止して相互に通信することを可能にするものである（例えば、非特許文献１参照）。具体的には、ＶＰＮのトラフィックを中継するＶＰＮサーバを設置し、認証を与えられた特定の２台のコンピュータ間の通信を同サーバが仲介することによって、第三者から隔離されたネットワークが実現される。
【非特許文献１】“ＳｏｆｔＥｔｈｅｒ  仮想イーサネットシステム”、［ｏｎｌｉｎｅ］、ソフトイーサ株式会社、［平成１７年８月４日検索］、インターネット、〈URL: http://www.softether.com/jp/〉
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、インターネットサービスプロバイダなどの通信事業者が提供しているＶＰＮサービスは、主として企業ユーザを対象として例えば本支店間のＶＰＮを構築するものであって、数千万人規模の個人の利用者に対して同様なサービスを提供することのできる拡張性を備えていない。すなわち、利用者の数が何千万にまで増大した場合には、利用者毎のＶＰＮサーバの設定・管理など、通信事業者側のシステム運用上の負担が大きくなる。そのため、現状のＶＰＮをそのまま利用しても、多数の個人ユーザ向けにリモートアクセス環境を提供するということは極めて難しい、という問題がある。
【０００５】
また、ＶＰＮサーバにおける処理内容は原理上その管理者が知得できることから、ＶＰＮサーバを通信事業者が運用する従来のＶＰＮサービスにおいては、第三者に対しては通信内容を秘匿することができても、通信事業者に対する情報漏洩の危険性は排除し切れない欠点もある。
【０００６】
一方、家庭内にＶＰＮサーバを設置すれば個人でもＶＰＮを構築可能であり、利用者が独自にリモートアクセス環境を整備することもできる。このようなＶＰＮを構築することにより、通信内容を知得可能なのは完全に利用者だけに限られることになる。しかしこの場合、外部からのアクセスを許可するためにはファイアウォールやＮＡＴ（Network Address Translation）の設定を変更できる専門知識を要するので、一般的な個人利用者にとっては敷居が高く、実現が困難である。
【０００７】
本発明は上記の諸点に鑑みてなされたものであり、その目的は、ユーザが多数となった場合でもリモートアクセス環境を提供できる拡張性を備え、事業者がサーバを用意するので一般ユーザでも簡便に利用でき、しかも当該事業者に対しても通信内容を秘匿することを可能とするＶＰＮサーバホスティングシステム、およびＶＰＮ構築方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は上記の課題を解決するためになされたものであり、請求項１に記載の発明は、外部の情報端末からの接続を受け入れる第１のネットワーク、および前記情報端末が属する第２のネットワークと接続することが可能であり、１つまたは複数のホストサーバからなるＶＰＮサーバホスティングシステムであって、前記第１のネットワークに属する中継装置によって生成された公開鍵と秘密鍵のペアについて、該公開鍵のハッシュ値に対応させて１のホストサーバを割り当てるサーバ管理手段と、前記中継装置から、前記秘密鍵によりデジタル署名の施されたＶＰＮ設定情報および前記公開鍵を受信して、該公開鍵によって該デジタル署名が検証された場合に、前記ハッシュ値をＩＤとし、且つ前記ＶＰＮ設定情報により動作を規定されるＶＰＮサーバプロセスを前記割り当てられた１のホストサーバ内に生成するＶＰＮサーバ生成手段と、前記中継装置ならびに前記情報端末の各々が、前記中継装置が発行したデジタル証明書を提示して前記ＶＰＮサーバプロセスへの接続を要求した際に、該デジタル証明書が前記公開鍵によって検証され、且つ、該中継装置および／または情報端末が、該デジタル証明書に記載されたクライアント公開鍵に対応するクライアント秘密鍵を所有していることを証明できた場合にのみ、該中継装置および／または情報端末と該ＶＰＮサーバプロセスとの接続を許可する通信制御手段と、を備えることを特徴とするＶＰＮサーバホスティングシステムである。
【０００９】
また、請求項２に記載の発明は、請求項１に記載のＶＰＮサーバホスティングシステムにおいて、前記各々のホストサーバは、自分の管理する前記ハッシュ値の範囲を定めた分散ハッシュテーブルを保持しており、前記サーバ管理手段は、前記分散ハッシュテーブルにしたがってホストサーバの割り当てを行うことを特徴とする。
【００１０】
また、請求項３に記載の発明は、請求項１または請求項２に記載のＶＰＮサーバホスティングシステムにおいて、前記通信制御手段によって許可された接続にかかる通信において、前記中継装置、前記ＶＰＮサーバプロセス、および前記情報端末間で共有される第１のセッション鍵を生成するセッション鍵生成手段と、前記第１のセッション鍵と、前記通信において前記中継装置と前記情報端末間でのみ共有される第２のセッション鍵とを用いてメッセージ認証コードが付加され、且つ前記第１のセッション鍵を用いてヘッダが、前記第２のセッション鍵を用いてペイロードがそれぞれ暗号化されたパケットに対し、前記第１のセッション鍵を使用してメッセージ認証ならびに前記ヘッダの復号化を行うパケット解析手段と、をさらに備えることを特徴とする。
【００１１】
また、請求項４に記載の発明は、第１のネットワークおよび第２のネットワークが１つまたは複数のホストサーバからなるサーバ群によって接続されたネットワークにおいて、前記第１のネットワークに属する中継装置によって生成された公開鍵と秘密鍵のペアについて、該公開鍵のハッシュ値に対応させて１のホストサーバを割り当てるステップと、前記中継装置から、前記秘密鍵によりデジタル署名の施されたＶＰＮ設定情報および前記公開鍵を受信して、該公開鍵によって該デジタル署名が検証された場合に、前記ハッシュ値をＩＤとし、且つ前記ＶＰＮ設定情報により動作を規定されるＶＰＮサーバプロセスを前記割り当てられた１のホストサーバ内に生成するステップと、前記中継装置、ならびに前記第２のネットワークに属する情報端末の各々が、前記中継装置が発行したデジタル証明書を提示して前記ＶＰＮサーバプロセスへの接続を要求した際に、該デジタル証明書が前記公開鍵によって検証され、且つ、該中継装置および／または情報端末が、該デジタル証明書に記載されたクライアント公開鍵に対応するクライアント秘密鍵を所有していることを証明できた場合にのみ、該中継装置および／または情報端末と該ＶＰＮサーバプロセスとを接続させることを特徴とするＶＰＮ構築方法である。
【発明の効果】
【００１２】
本発明によれば、中継装置の公開鍵から計算されたハッシュ値をＶＰＮサーバプロセスのＩＤに対応させ、ＶＰＮサーバプロセスの管理権限を当該公開鍵に対応する秘密鍵の所有者に与えることにしているので、ユーザが独自に公開鍵と秘密鍵のペアを作成することで当該公開鍵のハッシュ値をＩＤに持つＶＰＮサーバプロセスを新規に生成し、当該秘密鍵を所有していることをユーザが証明することによりＶＰＮサーバプロセスの管理権限の認可を受け、ユーザ自身がこれを管理することができる。これにより、事業者側がユーザ個別の設定や管理を行うサーバ運用上の負担がなくなり、ユーザ数が増大した場合にも容易に対応可能な拡張性を持った、ＶＰＮによるリモートアクセス環境が実現される。また、ＶＰＮサーバプロセスは事業者の運営しているホスティングシステム内に生成されるので、ユーザが自分のネットワークのファイアウォールやＮＡＴの設定を変更する必要はない。よって、ユーザにとってはＶＰＮが簡便に構築できるとともに、セキュリティ上も安全が確保される。
【００１３】
また、請求項２に記載の発明によれば、ＶＰＮサーバプロセスのＩＤとして用いられているハッシュ値が分散ハッシュテーブルによって管理され、この分散ハッシュテーブルにしたがってＶＰＮサーバプロセスを生成するホストサーバが決定されるので、ホスティングシステムは自律的に多数のＶＰＮサーバプロセスをホストサーバに分散させることができる。これにより、ＶＰＮサーバプロセスの数の増大に対して、ホスティングシステムにさらなる拡張性を持たせることが可能となっている。
【００１４】
また、請求項３に記載の発明によれば、第１および第２のセッション鍵を使った２段階のメッセージ認証が行われるので、メッセージの改竄（ＶＰＮサーバプロセスによるものを含む）や不正なパケットの中継・受信を効果的に防止することができる。また、ＶＰＮサーバプロセスは、第１のセッション鍵によって暗号化されたヘッダ部分を復号化することはできる（これによりパケットを中継できる）が、第２のセッション鍵によって暗号化されたペイロード部分は復号化できないので、ホスティングシステムを運営している事業者に対しても通信内容の秘匿性を確保することが可能である。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図１は、本発明の一実施形態によるＶＰＮサーバホスティングシステム１０を利用してリモートアクセス環境が実現されたネットワークの構成を示した図である。同図に示すように、ＶＰＮサーバホスティングシステム１０、利用者の家庭内に構築された宅内ＬＡＮ２０、移動端末３１が接続される移動先ＮＷ（ネットワーク）３０がそれぞれインターネット４０に接続されている。
【００１６】
本実施形態は、宅内ＬＡＮ２０内の宅内通信機器２１と移動先ＮＷ３０に収容された移動端末３１が、ＶＰＮサーバホスティングシステム１０内に設けられたＶＰＮサーバ（ＶＰＮサーバプロセス）により構築されるＶＰＮを介して相互に通信を行うことを可能にするものである。なお、宅内ＬＡＮ２０は特許請求の範囲に記載した第１のネットワーク、移動先ＮＷ３０は同じく第２のネットワークにそれぞれ相当する。
【００１７】
ＶＰＮサーバホスティングシステム１０は、複数台（ここでは４台とする）のホストサーバ１１ａ〜１１ｄから構成されたサーバシステムであり、リモートアクセス環境を提供するインターネットサービスプロバイダ等が運用しているものである。これらホストサーバ１１ａ〜１１ｄは、利用者毎に個別に設けられたＶＰＮサーバプロセスを、例えば利用者Ａ氏専用のＶＰＮサーバプロセスをホストサーバ１１ａが、利用者Ｂ氏専用のＶＰＮサーバプロセスをホストサーバ１１ｂがそれぞれ受け持つ、といった具合に分散して稼動させている。
【００１８】
上記ＶＰＮサーバプロセスは、所定の手続き（後述）にしたがって宅内通信機器２１および移動端末３１からの接続を許可し、これら機器間にＶＰＮを構築する。ＶＰＮサーバプロセスの動作、ならびに各ＶＰＮサーバプロセスとホストサーバとの割り当て方法の詳細については後述する。
【００１９】
宅内ＬＡＮ２０は、移動端末３１からのリモートアクセスを受け付けるホームネットワークであり、アクセス対象となるファイルやコンテンツを格納した宅内通信機器２１と、宅内通信機器２１と外部ネットワークとのトラフィックを中継する宅内中継装置２２（詳細は後述）と、設定されたファイアウォールやＮＡＴによって宅内ＬＡＮ２０のセキュリティを確保するホームＧＷ（ゲートウェイ）２３とから構成されている。ここで、宅内通信機器２１としては、例えばファイルサーバやビデオサーバ、一般的なパーソナルコンピュータ等のほか、ネットワーク機能を有したあらゆる種類の家電製品・情報機器が該当する。なお、宅内通信装置２１は宅内中継装置２２と同一の装置（コンピュータ）として構成されていてもよいものとする。
【００２０】
また、ホームＧＷ２３は、外部から流入するデータを監視して宅内ＬＡＮ２０への不正なアクセスを検出し規制するファイアウォールや、グローバルアドレスと宅内ＬＡＮ２０内のプライベートアドレスとの相互変換を担うＮＡＴが設定されたソフトウェア若しくはハードウェアである。これらの設定を適切に行うことによって、外部からの不正アクセスが遮断され、宅内ＬＡＮ２０のセキュリティが守られている。なお、宅内ＬＡＮ２０の内側から開始された外部への通信と、それに対応する外部から内部への応答、ならびに同通信ホスト間で引き続いて行われる双方向の通信は、ホームＧＷ２３を自由に通過できるようになっている。
【００２１】
移動先ＮＷ３０は、宅内ＬＡＮ２０から外部へ移動した移動端末３１がインターネット４０へ接続するためのアクセス網であり、移動端末３１との間で有線／無線ＬＡＮ、携帯電話等によるダイアルアップ接続を行うアクセスポイント３２と、インターネット４０と移動先ＮＷ３０との接点に置かれる両ネットワークを相互接続する移動先ＧＷ３３とから構成されている。ここで、移動端末３１は移動先ＧＷ３３を介してインターネット４０へアクセスすることが可能になっている。また、移動先ＧＷ３３にはホームＧＷ２３と同様にファイアウォールやＮＡＴが実装されていてもよいが、宅内ＬＡＮ２０の場合と同じく、移動先ＮＷ３０の内側から開始された外部への通信と、それに対応する外部から内部への応答、ならびに同通信ホスト間で引き続いて行われる双方向の通信は移動先ＧＷ３３を自由に通過できるものとする。
【００２２】
次に、図２〜図４を参照して、上述したＶＰＮサーバホスティングシステム１０の動作を詳細に説明する。
以下、図２に示すフローチャートの流れに沿って順に説明する。
【００２３】
（１）ＶＰＮサーバプロセスの生成
まず、宅内中継装置２２が公開鍵ｐｋと秘密鍵ｓｋのペアを１つ生成する（ステップＳ１１）。ここで、公開鍵ｐｋを用いて暗号化したデータは対応する秘密鍵ｓｋでなければ復号化できず、秘密鍵ｓｋを用いて暗号化したデータは対応する公開鍵ｐｋでなければ復号化できない。また、秘密鍵ｓｋは自分（宅内中継装置２２）以外のいかなる第三者に対しても公開されることがないよう管理される。
【００２４】
また宅内中継装置２２と移動端末３１は、ＶＰＮサーバプロセスへ接続する際の認証に用いる各自のクライアント公開鍵とクライアント秘密鍵のペアを作成する。これら鍵ペアを、それぞれｐｋｇｗとｓｋｇｗ（宅内中継装置２２）、およびｐｋｍとｓｋｍ（移動端末３１）とする。そして、宅内中継装置２２は、これらのクライアント公開鍵がＶＰＮサーバプロセスに接続する権限を有するクライアントのものであることを証明するクライアント証明書Ｃｓｋ（ｐｋｇｗ）、Ｃｓｋ（ｐｋｍ）を、上記の秘密鍵ｓｋで署名することにより発行する（ステップＳ１２）。これらクライアント証明書は、それぞれ宅内中継装置２２と移動端末３１に格納される。なお、上記のクライアント秘密鍵ｓｋｇｗとｓｋｍは、それぞれ宅内中継装置２２と移動端末３１以外のいかなる第三者に対しても公開されることがないように管理される。
【００２５】
宅内中継装置２２は次に、公開鍵ｐｋのハッシュ関数Ｈによるハッシュ値Ｈ（ｐｋ）を計算する。そして、公開鍵ｐｋと、秘密鍵ｓｋによる署名Ｓｓｋを施したＶＰＮ設定情報とを、自分がＩＰアドレスを知っているホストサーバの１台（ホストサーバ１１ａとする）に送付することによって、ＶＰＮサーバプロセスの生成を要求する（ステップＳ１３）。なおここで、ＶＰＮ設定情報には、ＩＰルータとして動作させるかブリッジとして動作させるかといったＶＰＮサーバプロセスの動作形態に関する情報や、ＩＰルータとして動作する場合にＶＰＮで使用するネットワークアドレスの情報等が含まれる。
【００２６】
ここで、複数のＶＰＮサーバプロセスを他から識別するため、上記のハッシュ値Ｈ（ｐｋ）がＶＰＮサーバプロセスのＩＤ（ＶＰＮ−ＩＤ）に設定される。例えば、ハッシュ関数としてＳＨＡ−１（Secure Hash Algorithm 1）を用いた場合、ハッシュ値Ｈ（ｐｋ）をＶＰＮ−ＩＤに持つＶＰＮサーバプロセスは、１６０ビットのハッシュ空間における１つの点で代表させることができる。すなわち、ＶＰＮ−ＩＤをハッシュ関数ＳＨＡ−１によるハッシュ値と対応付けることによって、２１６０通りのＶＰＮサーバプロセスを管理することが可能になっている。なお、ハッシュ関数の特徴から、任意の複数のＶＰＮ−ＩＤは統計的にはハッシュ空間内に均一に分布することになる。
【００２７】
ステップＳ１３の要求をホストサーバ１１ａが受けると、各ホストサーバが相互に連携することによって、ＶＰＮサーバホスティングシステム１０を構成するホストサーバ１１ａ〜１１ｄの中から、ＶＰＮ−ＩＤがハッシュ値Ｈ（ｐｋ）であるＶＰＮサーバプロセスを受け持つホストサーバが検索される（ステップＳ１４）。この検索には、分散ハッシュテーブル（ＤＨＴ；Distributed Hash Table）が用いられる。そして、検索の結果該当するホストサーバ（ホストサーバ１１ｃとする）に、上記のデータ（公開鍵ｐｋとＶＰＮ設定情報）が転送される。
【００２８】
ここで、ＤＨＴを用いたＶＰＮサーバプロセスの管理方法（ある特定のＶＰＮサーバプロセスをどのホストサーバが受け持つか）およびホストサーバの検索方法について、図３を参照して説明する。
同図には、４ビットのハッシュ空間（説明を簡単にするため便宜上４ビットで考える）を４台のホストサーバ１１ａ〜１１ｄで管理している様子が示されている。すなわち、この例では２４＝１６個のＶＰＮサーバプロセスを管理可能である。これらＶＰＮサーバプロセスのＶＰＮ−ＩＤは０，１，２，…，１５である。一方、各ホストサーバは固有の識別番号を有しており、ホストサーバ１１ａの識別番号は３、ホストサーバ１１ｂの識別番号は７、ホストサーバ１１ｃの識別番号は１１、ホストサーバ１１ｄの識別番号は１５であるものとする。このような条件において、ホストサーバ１１ａが管理するのはＶＰＮ−ＩＤ＝０〜３のＶＰＮサーバプロセスであり、ホストサーバ１１ｂが管理するのはＶＰＮ−ＩＤ＝４〜７のＶＰＮサーバプロセスであり、…というように、各ホストサーバとそれに割り当てられるＶＰＮサーバプロセスとの対応関係が決められる。そして、各ホストサーバは、自分に割り当てられたＶＰＮ−ＩＤ（すなわちハッシュ値）の範囲を定めた表であるＤＨＴを保持し、検索（下記）の際に利用する。
【００２９】
ホストサーバの検索は、以下の方法にしたがって行われる。図３に示した４ビットのハッシュ空間において、ステップＳ１３で要求されたＶＰＮサーバプロセスのＶＰＮ−ＩＤを「９」とする。ホストサーバ１１ａ（要求を受けたホストサーバ）は、自分の保持するＤＨＴを参照して、検索対象となるハッシュ値（ＶＰＮ−ＩＤ）の「９」が自分の管理する範囲内のハッシュ値であるか否かを判定する。ハッシュ値「９」はホストサーバ１１ａの管理下にないので、ホストサーバ１１ａはデータ（公開鍵ｐｋとＶＰＮ設定情報）を隣のホストサーバ１１ｂへ転送する。ホストサーバ１１ｂは同じように自分のＤＨＴを参照して判定処理を行い、ハッシュ値「９」が管理下にないのでさらに隣のホストサーバ１１ｃへ上記データを転送する。ホストサーバ１１ｃは、自分のＤＨＴに検索対象であるハッシュ値「９」が含まれるので、要求されたＶＰＮサーバプロセスを受け持つのは自分であるとの判断を下す。このような手順でルーティングが行われることによって、目的のホストサーバが検索される。
【００３０】
図２のフローチャートに戻って説明を続ける。
ステップＳ１４で検索結果に該当したホストサーバ１１ｃは、次に、転送されたデータに含まれる公開鍵ｐｋを使い、ＶＰＮ設定情報に施されている署名Ｓｓｋの検証を行う（ステップＳ１５）。公開鍵ｐｋにより署名Ｓｓｋを正しく復号化することができた場合に検証は成功し、ホストサーバ１１ｃはハッシュ値Ｈ（ｐｋ）をＶＰＮ−ＩＤとするＶＰＮサーバプロセスを生成する（ステップＳ１６）。一方、復号化が正しく行われなかった場合には検証が失敗する（ステップＳ１７）。
【００３１】
（２）ＶＰＮの構築（ＶＰＮサーバプロセスへの接続）
次に、生成されたＶＰＮサーバプロセスに対して、宅内中継装置２２と移動端末３１は以下の手続きにしたがってＶＰＮによる接続を行う。
まず、宅内中継装置２２は、接続を希望するＶＰＮサーバプロセスのＶＰＮ−ＩＤ、すなわちハッシュ値Ｈ（ｐｋ）をホストサーバの１台に送信することによって、必要な接続情報の問い合わせを行う（ステップＳ２１）。送信先は、ＩＰアドレスを知っているホストサーバ１１ａである。
【００３２】
ホストサーバ１１ａがＶＰＮ−ＩＤを受け取ると、上述のステップＳ１４と同様にＤＨＴを用いたルーティングによりホストサーバの検索が実行され、当該ＶＰＮ−ＩＤはホストサーバ１１ｃ（当該ＶＰＮ−ＩＤのＶＰＮサーバプロセスを生成し、稼動させているホストサーバ）へ転送される。ＶＰＮ−ＩＤを受信すると、ホストサーバ１１ｃは、自分のＩＰアドレスや問い合わせにかかるＶＰＮサーバプロセスのポート番号などの接続情報を宅内中継装置２２に返送する（ステップＳ２２）。なおこの際、ファイアウォールやＮＡＴを通過させるため、応答は最初に問い合わせを受けたホストサーバを経由させて返す（ホストサーバ１１ｃ→１１ａ→宅内中継装置２２）。上記接続情報を受信することによって、宅内中継装置２２は接続を希望するＶＰＮサーバプロセスがホストサーバ１１ｃで稼動していることを知ることになる。
【００３３】
宅内中継装置２２は、次に、取得した接続情報を用いて目的のＶＰＮサーバプロセスに対する接続を要求する。具体的には、ホストサーバ１１ｃに直接、ステップＳ１２で発行され格納しておいたクライアント証明書Ｃｓｋ（ｐｋｇｗ）を送信する（ステップＳ２３）。ホストサーバ１１ｃは、宅内中継装置２２の公開鍵ｐｋ（ステップＳ１３で既に受信している）を使ってクライアント証明書Ｃｓｋ（ｐｋｇｗ）を検証する（ステップＳ２４）。クライアント証明書Ｃｓｋ（ｐｋｇｗ）が公開鍵ｐｋで正しく検証できた場合は、次いで、ホストサーバ１１ｃは宅内中継装置２２に１回限りのチャレンジメッセージを送り、そのメッセージに対してクライアント秘密鍵ｓｋｇｗによる署名を付加して返送させる。そして、この署名をクライアント証明書Ｃｓｋ（ｐｋｇｗ）に記載されているクライアント公開鍵ｐｋｇｗによって検証し、宅内中継装置２２が確かにクライアント秘密鍵ｓｋｇｗを所有していることを確認する。以上により、宅内中継装置２２が正当な接続権限を持っていることが証明されるので、目的のＶＰＮサーバプロセスへの接続が許可される（ステップＳ２５）。一方、証明書の検証や、クライアント秘密鍵を所有していることの証明に失敗した場合は、接続が拒否される（ステップＳ１７）。
【００３４】
以上で宅内中継装置２２とＶＰＮサーバプロセスの間がＶＰＮで接続される。移動端末３１については、クライアント証明書Ｃｓｋ（ｐｋｍ）を使い同様の手続きをすることによって、ＶＰＮサーバプロセスとの接続が行われる。こうして、宅内中継装置２２−ＶＰＮサーバプロセス−移動端末３１間にＶＰＮが構築される。
【００３５】
ここで、最初に宅内中継装置２２からＶＰＮサーバプロセスに向かうパケットは、宅内ＬＡＮ２０の内側から外側への通信なので、（ＶＰＮとは関係なく）ホームＧＷ２３を通過でき、それに対応するＶＰＮサーバプロセスから宅内中継装置２２への応答や、引き続いて行われる両者間の双方向の通信もホームＧＷ２３を通過できる。一方、移動端末３１から宅内中継装置２２へ送られるパケットは、通常であればホームＧＷ２３によって規制されるため宅内ＬＡＮ２０内に届かない。上記ステップによりＶＰＮが構築されると、宅内中継装置２２へのパケットは、上記により既に宅内中継装置２２との間に通信路が確保されたＶＰＮを経由して送られるため、ホームＧＷ２３のファイアウォールを通過することができるようになる。
【００３６】
（３）ＶＰＮ通信の準備
次に、ＶＰＮサーバプロセスは、メッセージ認証とパケットの暗号化のための共有セッション鍵ＫｓｍａｃとＫｓｅｎｃを作成して、接続を許可した宅内中継装置２２と移動端末３１にこれら共有セッション鍵を送信する（ステップＳ３１）。送信は、送信相手のクライアント公開鍵（すなわち、宅内中継装置２２のｐｋｇｗと移動端末３１のｐｋｍ）を使った暗号化通信により行う。この共有セッション鍵は、ＶＰＮサーバプロセスと宅内中継装置２２と移動端末３１とで共有されて、次に述べるＶＰＮの通信において使用されるものである。
【００３７】
また、宅内中継装置２２は、同様にメッセージ認証とパケットの暗号化のためのクライアントセッション鍵ＫｕｍａｃとＫｕｅｎｃを作成し、これらを移動端末３１のクライアント公開鍵ｐｋｍで暗号化した上で上記の共有セッション鍵を使って移動端末３１に送信する（ステップＳ３２）。移動端末３１は、受信したクライアントセッション鍵を共有セッション鍵と自分のクライアント秘密鍵ｓｋｍによって復号化し、平文のクライアントセッション鍵を取得する。このクライアントセッション鍵は、共有セッション鍵と併せてＶＰＮの通信において使用されるものであるが、上記の手順でやり取りされることによって、宅内中継装置２２と移動端末３１との間でのみ共有されることとなる。
なお、上記の共有セッション鍵は特許請求の範囲に記載した第１のセッション鍵に相当し、クライアントセッション鍵は同じく第２のセッション鍵に相当する。
【００３８】
上記ステップにより、共有セッション鍵とクライアントセッション鍵の共有がなされると、ＶＰＮ通信の準備が整うことになる。宅内中継装置２２と移動端末３１は、共有セッション鍵とクライアントセッション鍵を使用し、ＶＰＮサーバプロセスを介したＶＰＮによる通信を行う（ステップＳ３３）。以下、図４を参照してＶＰＮの具体的な通信方法を説明する。
【００３９】
（４）ＶＰＮによる通信の実行
図４は、ＶＰＮにより移動端末３１から宅内中継装置２２へ通信する場合に送受信されるパケットの構造を示した図であり、上述した合計４つのセッション鍵を用いてメッセージ認証とパケットの暗号・復号化が行われる様子を示したものである。送信者である移動端末３１は、パケットのヘッダ部分をＫｓｅｎｃ、ペイロード部分をＫｕｅｎｃでそれぞれ暗号化し、さらに、メッセージ（ヘッダ＋ペイロード）とＫｕｍａｃから作成したメッセージ認証コードＭＡＣｕならびにメッセージとＫｓｍａｃから作成したＭＡＣｓをパケットの末尾に付加する。なお、メッセージ認証コード（ＭＡＣ；Message Authentication Code）は、所定のＭＡＣ関数にメッセージと鍵を入力して得られる固定長ビットの出力値である。そして、入力に使った鍵を送信者と受信者で共有しておき、受信したメッセージと共有鍵とから計算したＭＡＣが、受信したメッセージに付加されているＭＡＣと一致すれば、受信者はそのメッセージが改竄されていないことを確認（メッセージ認証）できる。
【００４０】
ＶＰＮサーバプロセスは、上記ＭＡＣの付加と暗号化がなされたパケットに対し、共有セッション鍵Ｋｓｍａｃを使ってメッセージ認証コードＭＡＣｓを検証し、検証に成功した場合には、パケットからＭＡＣｓを削除するとともに、共有セッション鍵Ｋｓｅｎｃを使ってヘッダを復号化した上で当該ヘッダにしたがって宛先である宅内中継装置２２にパケットを送り届ける。なおこの時、ＶＰＮサーバプロセスはクライアントセッション鍵を所有していないため、ペイロードを復号化することはできない。
【００４１】
宅内中継装置２２は、共有セッション鍵Ｋｓｅｎｃでヘッダを解析して自分宛てのパケットを選別し、当該パケットの末尾に付加されているメッセージ認証コードＭＡＣｕをクライアントセッション鍵Ｋｕｍａｃにより検証する。検証できたら、クライアントセッション鍵Ｋｕｅｎｃでペイロードを復号化し、平文の送信データを得る。こうして、通信内容をＶＰＮサーバプロセスに秘匿したまま、移動端末３１と宅内中継装置２２とでＶＰＮの通信が行われる。
【００４２】
このように、本実施形態によれば、宅内中継装置２２の公開鍵ｐｋから計算されたハッシュ値Ｈ（ｐｋ）をＶＰＮサーバプロセスのＩＤに対応させるとともに、ＤＨＴを利用することによって同プロセスを事業者の運営するホスティングシステム１０内に分散させ稼動させている。これにより、ユーザ（宅内中継装置２２）の数が増大したとしても、ＶＰＮサーバプロセスはホスティングシステム１０に自律的に分散管理され、しかもその管理や設定は公開鍵ｐｋを基にしてユーザ自らが行うことができるようになっている。したがって、ユーザ数に対して柔軟な拡張性を持ったＶＰＮを構築してリモートアクセスを実現することが可能である。
【００４３】
また、ＶＰＮによる通信においては、共有セッション鍵とクライアントセッション鍵を併用することによって、ＶＰＮサーバプロセスと受信者（宅内中継装置２２）とで別個にメッセージ認証ならびにパケットの暗号・復号化を行っている。すなわち、メッセージ認証を２段階で行うことにより、メッセージの改竄や不正なパケットの中継・受信が効果的に防止されるとともに、ＶＰＮサーバプロセスではヘッダの復号化のみを行うことで、事業者に対する通信内容の秘匿性が確保されている。
【００４４】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、ＤＨＴ自体はＰ２Ｐ（Peer to Peer）のファイル交換などで用いられる既存の技術であり、ＣｈｏｒｄやＣＡＮ、Ｔａｐｅｓｔｒｙなど種々ある方式のいずれを適用することも可能である。
【００４５】
また、上記実施形態における移動端末３１は外出先から宅内ＬＡＮ２０にアクセスするクライアントとしての一例であり、固定のコンピュータなど通信機能を有していればどのようなタイプの情報端末であってもよいのはもちろんである。さらにまた、宅内ＬＡＮ２０や移動先ＮＷ３０については、これらを一般化、すなわちゲートウェイ等により外部からのアクセス制限を行っている２つの異なる各種ネットワークに置き換えることも当然に可能である。
【産業上の利用可能性】
【００４６】
この発明は、個人ユーザ向けにリモートアクセス環境を提供するシステムに用いて好適である。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施形態によるＶＰＮサーバホスティングシステムを利用してリモートアクセス環境が実現されたネットワークの構成を示した図である。
【図２】図１のＶＰＮサーバホスティングシステムの動作を示したフローチャートである。
【図３】ＤＨＴによりＶＰＮサーバプロセスを管理する仕組みを説明した図である。
【図４】ＶＰＮ通信において送受信されるパケットの構造を示した図である。
【符号の説明】
【００４８】
１０…ＶＰＮサーバホスティングシステム  １１ａ〜１１ｄ…ホストサーバ  ２０…宅内ＬＡＮ  ２１…宅内通信機器  ２２…宅内中継装置  ２３…ホームＧＷ  ３０…移動先ＮＷ  ３１…移動端末  ３２…アクセスポイント  ３３…移動先ＧＷ  ４０…インターネット
【図１】
0004490352.tif 000002
【図２】
0004490352.tif 000003
【図３】
0004490352.tif 000004
【図４】
0004490352.tif 000005