JP4837470B2 - Vpnサーバホスティングシステム、vpn構築方法、およびコンピュータプログラム - Google Patents

Vpnサーバホスティングシステム、vpn構築方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP4837470B2
JP4837470B2 JP2006197385A JP2006197385A JP4837470B2 JP 4837470 B2 JP4837470 B2 JP 4837470B2 JP 2006197385 A JP2006197385 A JP 2006197385A JP 2006197385 A JP2006197385 A JP 2006197385A JP 4837470 B2 JP4837470 B2 JP 4837470B2
Authority
JP
Japan
Prior art keywords
vpn server
vpn
server process
information
digital certificate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006197385A
Other languages
English (en)
Other versions
JP2008028576A (ja
Inventor
歩 窪田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2006197385A priority Critical patent/JP4837470B2/ja
Publication of JP2008028576A publication Critical patent/JP2008028576A/ja
Application granted granted Critical
Publication of JP4837470B2 publication Critical patent/JP4837470B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、複数の情報端末を仮想的な専用回線で接続するVPNサーバプロセスを稼動させるVPNサーバホスティングシステム、このVPNサーバホスティングシステムによりVPNを構築するVPN構築方法、およびVPNを構築するためのコンピュータプログラムに関する。
近年、インターネットの常時接続環境が普及してきていることや、AV機器等の家電製品にネットワーク対応型の製品が増加していることなどを背景として、一般家庭においても家庭内の通信機器に対する外出先からのリモートアクセスの需要が高まりつつある。また、複数のユーザの間でインターネットを介してファイルの共有を行ったり、ネット接続型のゲームを楽しんだりといったことも行われている。これらのサービスを実現する方法の一つとして、利用者毎に仮想的な専用回線であるVPN(Virtual Private Network)を構築し、これにより安全なネットワーク環境を提供可能としたものが提案されている。
ここで、VPNは、暗号化技術を利用してインターネット上の2地点間を接続して構成された仮想的な閉じたネットワークであり、離れた場所にあるコンピュータ同士があたかも1つのLAN(Local Area Network)に接続されているのと同じように、第三者による盗聴などを防止して相互に通信することを可能にするものである(例えば、非特許文献1参照)。具体的には、VPNのトラフィックを中継するVPNサーバを設置し、認証を与えられた特定の2台のコンピュータ間の通信を同サーバが仲介することによって、第三者から隔離されたネットワークが実現される。
VPNに関して、既に出願人は特願2005−249137の特許出願を出願済みである。当該出願で提案されたVPNの技術は次のようなものである。すなわち、複数のホストサーバからなりVPNサーバプロセスを稼動させるVPNサーバホスティングシステムと、宅内に設置された宅内中継装置および宅内通信機器と、外出先の移動端末とによってネットワークが構成されている。そして、宅内中継装置の公開鍵pkから計算されたハッシュ値H(pk)をVPNサーバプロセスのIDに対応させ、分散ハッシュテーブルを利用してこのVPNサーバプロセスを特定のホストサーバに割り当てて稼動させる。クライアント(宅内中継装置および移動端末)は、宅内中継装置が発行したクライアント証明書を提示してVPNサーバプロセスに対する接続を要求する。そして、同証明書が公開鍵pkによって認証され、同証明書に対応するクライアント秘密鍵を当該クライアントが所有していることが証明された場合、クライアントとVPNサーバプロセスが接続されVPNが構築される。これにより、移動端末と宅内通信機器との間でVPNを介した通信が可能となる。
"SoftEther 仮想イーサネットシステム"、[online]、ソフトイーサ株式会社、[平成18年7月3日検索]、インターネット、〈URL: http://www.softether.com/jp/〉
上記の既出願のVPNサーバホスティングシステムでは、宅内中継装置が公開鍵と秘密鍵のペアを生成し、クライアントに対してその秘密鍵を用いてクライアント証明書を発行すると、当該クライアント証明書を持つクライアントだけが接続できるVPNサーバプロセスを作成することができる。しかしながら、例えば複数のクライアントのうち一部のクライアントだけをメンバーとして、元のVPNとは独立にこれらメンバー専用のVPNを構築しようとした場合、再度あらためて公開鍵・秘密鍵ペアの生成とクライアント証明書の発行、配布という手続きが必要となるため、処理が煩雑になるという問題があった。また、例えば装置Aからクライアント証明書Cを発行されたクライアントa1、a2、a3、装置Bからクライアント証明書Cを発行されたクライアントb1、b2、b3、装置CAからクライアント証明書CCAを発行されたクライアントu1、u2、u3が存在していた場合に、クライアントa1とb1とb2とu1とでグループを作り、このグループのメンバーのみが接続できるVPNを構築しようとするときも、新たにクライアント証明書を発行し直さなければならない。そのため、複数のユーザでファイル共有などをする際に簡便にVPNを利用するということが難しかった。
本発明はこれらの点に鑑みてなされたものであり、その目的は、複数のクライアントから任意に選択したメンバーに対してVPNを構築することを柔軟且つ簡便に行うことが可能なVPNサーバホスティングシステムを提供することにある。また、このVPNサーバホスティングシステムによりVPNを構築するVPN構築方法、およびVPNを構築するためのコンピュータプログラムを提供する。
本発明は上記の課題を解決するためになされたものであり、請求項1に記載の発明は、複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行する、1つまたは複数のホストサーバからなるVPNサーバホスティングシステムであって、公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するVPNサーバ生成手段と、前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するVPNサーバ接続手段と、を備えることを特徴とするVPNサーバホスティングシステムである。
この発明において、デジタル証明書の発行を受けている情報端末から任意に選択されたメンバーのメンバーリストと、デジタル証明書の発行に用いられた秘密鍵に対応する公開鍵とをハッシュ関数の引数としてハッシュ値を計算し、このハッシュ値をVPNサーバプロセスのIDに対応させている。そして、VPNサーバプロセスに対して情報端末が接続を要求してきた際に、デジタル証明書が検証され、当該情報端末が前記メンバーに含まれている場合にのみ、接続が許可される。したがって、グループを作ったメンバーに対して新たにデジタル証明書を発行することを必要とせず、柔軟且つ簡便にVPNを構築して稼動させることができる。
また、請求項2に記載の発明は、請求項1に記載のVPNサーバホスティングシステムにおいて、前記メンバーに含まれる少なくとも一つの情報端末が、他の情報端末に対して発行されたデジタル証明書を所有せず、且つ、該デジタル証明書を発行した証明書発行装置とは異なる証明書発行装置から発行されたデジタル証明書を所有している場合において、前記VPNサーバプロセス特定情報を前記全ての証明書発行装置のそれぞれの公開鍵と前記メンバーを特定するメンバーリストとから構成したことを特徴とする。
この発明によれば、複数の証明書発行装置が存在してそれぞれ異なるデジタル証明書を情報端末に発行している場合でも、異なるデジタル証明書を持つ情報端末をメンバーとしたVPNを構築することができる。
また、請求項3に記載の発明は、請求項1または請求項2に記載のVPNサーバホスティングシステムにおいて、前記各々のホストサーバは、自分の管理する前記ハッシュ値の範囲を定めた分散ハッシュテーブルを保持しており、前記VPNサーバ生成手段は、前記分散ハッシュテーブルにしたがって前記VPNサーバプロセス特定情報のハッシュ値に対応するホストサーバを選択し、該選択したホストサーバ内にVPNサーバプロセスを生成することを特徴とする。
また、請求項4に記載の発明は、請求項1から請求項3のいずれかの項に記載のVPNサーバホスティングシステムにおいて、前記VPNサーバ接続手段によってVPNサーバプロセスへの接続が許可された情報端末間の通信において、前記VPNサーバプロセスと前記複数の情報端末で共有される第1のセッション鍵を生成するセッション鍵生成手段と、前記第1のセッション鍵と前記情報端末間でのみ共有される第2のセッション鍵とを用いてメッセージ認証コードが付加され、且つ前記第1のセッション鍵を用いてヘッダが暗号化されるとともに前記第2のセッション鍵を用いてペイロードが暗号化されたパケットに対し、前記第1のセッション鍵を使用してメッセージ認証ならびに前記ヘッダの復号化を行うパケット解析手段と、をさらに備えることを特徴とする。
また、請求項5に記載の発明は、1つまたは複数のホストサーバからなるサーバシステムにおいて前記いずれかのホストサーバに複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行させてVPNを構築するVPN構築方法であって、公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するステップと、前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するステップと、を備えることを特徴とするVPN構築方法である。
また、請求項6に記載の発明は、複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行する、1つまたは複数のホストサーバからなるVPNサーバホスティングシステムにおいて、前記各ホストサーバのコンピュータに、公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するステップと、前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するステップと、を実行させるためのコンピュータプログラムである。
本発明によれば、複数のクライアントから任意に選択したメンバーに対してVPNを構築することを柔軟且つ簡便に行うことができる。
また、請求項3に記載の発明によれば、VPNサーバプロセスのIDとして用いられているハッシュ値が分散ハッシュテーブルによって管理され、この分散ハッシュテーブルにしたがってVPNサーバプロセスを生成するホストサーバが決定されるので、ホスティングシステムは自律的に多数のVPNサーバプロセスをホストサーバに分散させることができる。これにより、VPNサーバプロセスの数の増大に対して、ホスティングシステムに拡張性を持たせることが可能である。
また、請求項4に記載の発明によれば、第1および第2のセッション鍵を使った2段階のメッセージ認証が行われるので、メッセージの改竄(VPNサーバプロセスによるものを含む)や不正なパケットの中継・受信を効果的に防止することができる。また、VPNサーバプロセスは、第1のセッション鍵によって暗号化されたヘッダ部分を復号化することはできる(これによりパケットを中継できる)が、第2のセッション鍵によって暗号化されたペイロード部分は復号化できないので、ホスティングシステムを運営している事業者に対して通信内容の秘匿性を確保することが可能となる。
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態にかかるVPNサーバホスティングシステム10が利用されてクライアント間にVPNが構築される状況を説明する図である。図1において、VPNサーバホスティングシステム10はインターネット40に接続されている。また、インターネット40には、各ユーザが使用するクライアント(情報端末)21−1〜21−9が接続されている。本実施形態では、これらクライアントが後述する手順に従ってVPNサーバホスティングシステム10内にVPNサーバプロセスを生成してVPNを構築し、このVPNサーバプロセスを介してVPNによる相互通信を行う。なお、クライアントとしては、例えばファイルサーバやビデオサーバ、一般的なパーソナルコンピュータ等のほか、ネットワーク機能を有したあらゆる種類の家電製品・情報機器が該当する。
VPNサーバホスティングシステム10は、複数台(ここでは4台とする)のホストサーバ11a〜11dから構成されたサーバシステムであり、例えばインターネットサービスプロバイダ等が運用しているものである。これらホストサーバ11a〜11dは、指定されたクライアント間をVPNにより接続する処理を担うVPNサーバプロセスを生成して実行するコンピュータであり、各ホストサーバ11a〜11dは自分の管理するIDに対応するVPNサーバプロセスを生成して実行する。
証明書発行装置31a〜31cは、公開鍵と秘密鍵のペアを生成してクライアント21にクライアント証明書(デジタル証明書)を発行するコンピュータである。クライアント証明書には、当該クライアント証明書の発行先でその所有者となるクライアントの名前および公開鍵と、発行者(証明書発行装置)の名前および公開鍵が記載され、さらに発行者の秘密鍵(前記公開鍵とペアになる秘密鍵)による署名が付されている。また、ここで、クライアント21−1〜21−3(a1、a2、a3)は証明書発行装置31aからクライアント証明書Cの発行を受け、クライアント21−4〜21−6(b1、b2、b3)は証明書発行装置31bからクライアント証明書Cの発行を受け、クライアント21−7〜21−9(u1、u2、u3)は証明書発行装置31cからクライアント証明書CCAの発行を受けているものとする。なお、証明書発行装置31aおよび31bはユーザが所有し管理する一般的なパーソナルコンピュータ、証明書発行装置31cは第三者認証機関が運用している認証用コンピュータであるものとする。但し、証明書発行主体は一例であり、これに限定されない。
次に、図2〜図4を参照して、図1の構成における4つのクライアントa1、b1、b2、およびu1がメンバーとなってこれらメンバーだけが接続することが可能なVPNを構築する場合を例に、VPNサーバホスティングシステム10の動作を詳細に説明する。
以下、図2に示すフローチャートの流れに沿って順に説明する。
(1)VPNサーバプロセスの生成
まず、各証明書発行装置31a〜31cが公開鍵pkと秘密鍵sk(但しX=A、B、CA)のペアを1つ生成する(ステップS11)。ここで、公開鍵pkを用いて暗号化したデータは対応する秘密鍵skでなければ復号化できず、秘密鍵skを用いて暗号化したデータは対応する公開鍵pkでなければ復号化できない。また、秘密鍵skは自分(各証明書発行装置31a〜31c)以外のいかなる第三者に対しても公開されることがないよう管理される。
また各クライアントa1、b1、b2、およびu1は、VPNサーバプロセスへ接続する際の認証に用いる各自のクライアント公開鍵pkとクライアント秘密鍵sk(但し、Y=a1、b1、b2、u1)のペアを作成する。そして、各証明書発行装置31a〜31cは、これらのクライアント公開鍵がVPNサーバプロセスに接続する権限を有するクライアントのものであることを証明するクライアント証明書C(pka1)、C(pkb1)、C(pkb2)、CCA(pku1)を、それぞれ上記の秘密鍵skで署名することにより発行する(ステップS12)。これらクライアント証明書は、それぞれ各クライアントa1、b1、b2、およびu1に格納される。なお、上記のクライアント秘密鍵skも、いかなる第三者に対しても公開されることがないように管理される。
次に、上記メンバーのうち一つのクライアント(ここではクライアントa1とする)が各メンバーにクライアント証明書を発行した全ての証明書発行装置の公開鍵とメンバーのリストとを、自分がIPアドレスを知っているホストサーバの1台(ホストサーバ11aとする)に送付することによって、VPNサーバプロセスの生成を要求する(ステップS13)。ここで、上記送付するデータ(VPNサーバプロセス特定情報)の並び順は、証明書発行装置の公開鍵と当該証明書発行装置からクライアント証明書を発行されたクライアントをひとかたまりとして並べるものとする。具体的には、この例の場合、VPNサーバプロセス特定情報は、
pk,{a1},pk,{b1,b2},pkCA,{u1}
となる。
ここで、上記のVPNサーバプロセス特定情報のハッシュ値H(pk,{a1},pk,{b1,b2},pkCA,{u1})がVPNサーバプロセスのID(VPN−ID)に設定される。例えば、ハッシュ関数としてSHA−1(Secure Hash Algorithm 1)を用いた場合、ハッシュ値H()をVPN−IDに持つVPNサーバプロセスは、160ビットのハッシュ空間における1つの点で代表させることができる。すなわち、VPN−IDをハッシュ関数SHA−1によるハッシュ値と対応付けることによって、2160通りのVPNサーバプロセスを管理することが可能になっている。なお、ハッシュ関数の特徴から、任意の複数のVPN−IDは統計的にはハッシュ空間内に均一に分布することになる。
ステップS13の要求をホストサーバ11aが受けると、各ホストサーバが相互に連携することによって、VPNサーバホスティングシステム10を構成するホストサーバ11a〜11dの中から、VPN−IDがハッシュ値H(pk,{a1},pk,{b1,b2},pkCA,{u1})であるVPNサーバプロセスを受け持つホストサーバが検索される(ステップS14)。この検索には、分散ハッシュテーブル(DHT;Distributed Hash Table)が用いられる。そして、検索の結果該当するホストサーバ(ホストサーバ11cとする)に、上記のVPNサーバプロセス特定情報が転送される。
ここで、DHTを用いたVPNサーバプロセスの管理方法(ある特定のVPNサーバプロセスをどのホストサーバが受け持つか)およびホストサーバの検索方法について、図3を参照して説明する。
同図には、4ビットのハッシュ空間(説明を簡単にするため便宜上4ビットで考える)を4台のホストサーバ11a〜11dで管理している様子が示されている。すなわち、この例では2=16個のVPNサーバプロセスを管理可能である。これらVPNサーバプロセスのVPN−IDは0,1,2,…,15である。一方、各ホストサーバは固有の識別番号を有しており、ホストサーバ11aの識別番号は3、ホストサーバ11bの識別番号は7、ホストサーバ11cの識別番号は11、ホストサーバ11dの識別番号は15であるものとする。このような条件において、ホストサーバ11aが管理するのはVPN−ID=0〜3のVPNサーバプロセスであり、ホストサーバ11bが管理するのはVPN−ID=4〜7のVPNサーバプロセスであり、…というように、各ホストサーバとそれに割り当てられるVPNサーバプロセスとの対応関係が決められる。そして、各ホストサーバは、自分に割り当てられたVPN−ID(すなわちハッシュ値)の範囲を定めた表であるDHTを保持し、検索(下記)の際に利用する。
ホストサーバの検索は、以下の方法にしたがって行われる。図3に示した4ビットのハッシュ空間において、ステップS13で要求されたVPNサーバプロセスのVPN−IDを「9」とする。ホストサーバ11a(要求を受けたホストサーバ)は、自分の保持するDHTを参照して、検索対象となるハッシュ値(VPN−ID)の「9」が自分の管理する範囲内のハッシュ値であるか否かを判定する。ハッシュ値「9」はホストサーバ11aの管理下にないので、ホストサーバ11aはデータ(公開鍵pkとVPN設定情報)を隣のホストサーバ11bへ転送する。ホストサーバ11bは同じように自分のDHTを参照して判定処理を行い、ハッシュ値「9」が管理下にないのでさらに隣のホストサーバ11cへ上記データを転送する。ホストサーバ11cは、自分のDHTに検索対象であるハッシュ値「9」が含まれるので、要求されたVPNサーバプロセスを受け持つのは自分であるとの判断を下す。このような手順でルーティングが行われることによって、目的のホストサーバが検索される。
図2のフローチャートに戻って説明を続ける。
ステップS14で検索結果に該当したホストサーバ11cは、次に、ハッシュ値H(pk,{a1},pk,{b1,b2},pkCA,{u1})をVPN−IDとするVPNサーバプロセスを生成する(ステップS15)。
(2)VPNの構築(VPNサーバプロセスへの接続)
次に、生成されたVPNサーバプロセスに対して、クライアント(ここではクライアントb1とする)は以下の手続きにしたがってVPNによる接続を行う。
まず、クライアントb1は、接続を希望するVPNサーバプロセスのVPN−ID、すなわちハッシュ値H(pk,{a1},pk,{b1,b2},pkCA,{u1})をホストサーバの1台に送信することによって、必要な接続情報の問い合わせを行う(ステップS21)。送信先は、IPアドレスを知っているホストサーバ11aである。
ホストサーバ11aがVPN−IDを受け取ると、上述のステップS14と同様にDHTを用いたルーティングによりホストサーバの検索が実行され、当該VPN−IDはホストサーバ11c(当該VPN−IDのVPNサーバプロセスを生成し、稼動させているホストサーバ)へ転送される。VPN−IDを受信すると、ホストサーバ11cは、自分のIPアドレスや問い合わせにかかるVPNサーバプロセスのポート番号などの接続情報をクライアントb1に返送する(ステップS22)。なおこの際、応答は最初に問い合わせを受けたホストサーバを経由させて返す(ホストサーバ11c→11a→クライアントb1)。上記接続情報を受信することによって、クライアントb1は接続を希望するVPNサーバプロセスがホストサーバ11cで稼動していることを知ることになる。
クライアントb1は、次に、取得した接続情報を用いて目的のVPNサーバプロセスに対する接続を要求する。具体的には、ホストサーバ11cに直接、VPNサーバプロセス特定情報(pk,{a1},pk,{b1,b2},pkCA,{u1})とステップS12で発行され格納しておいたクライアント証明書C(pkb1)とを送信する(ステップS23)。ホストサーバ11cは、上記送られてきたVPNサーバプロセス特定情報のハッシュ値を計算して稼動中のVPNサーバプロセスのVPN−IDと一致するかどうかを検証する(ステップS24)。ハッシュ値とVPN−IDが一致した場合、さらに、上記クライアント証明書C(pkb1)に記載されている所有者(ここではクライアントb1)が上記VPNサーバプロセス特定情報のメンバーリストに含まれているかどうかを検証する(ステップS25)。メンバーリストに含まれている場合は、さらに、当該所有者に対応する証明書発行装置の公開鍵(ここではpk)を使ってクライアント証明書C(pkb1)を検証する(ステップS26)。クライアント証明書C(pkb1)が公開鍵pkで正しく検証できた場合は、次いで、ホストサーバ11cはクライアントb1に1回限りのチャレンジメッセージを送り、そのメッセージに対してクライアント秘密鍵skb1による署名を付加して返送させる。そして、この署名をクライアント証明書C(pkb1)に記載されているクライアント公開鍵pkb1によって検証し、クライアントb1が確かにクライアント秘密鍵skb1を所有していることを確認する。以上により、クライアントb1が正当な接続権限を持っていることが証明されるので、目的のVPNサーバプロセスへの接続が許可される(ステップS27)。一方、ステップS24〜ステップS26の検証に失敗した場合は、接続が拒否される(ステップS17)。
以上でクライアントb1とVPNサーバプロセスの間がVPNで接続される。上記VPNサーバプロセス特定情報のメンバーに含まれる他のクライアント(例えばクライアントa1)についても、クライアント証明書C(pka1)を使い同様の手続きをすることによって、VPNサーバプロセスとの接続が行われる。こうして、VPNサーバプロセスを介してメンバー間にVPNが構築される。
(3)VPN通信の準備
上記のように構築されたVPNを利用して、メンバーのうちクライアントa1とクライアントb1でVPN通信を行う手順を説明する。なお、他のメンバーであるクライアントb2とクライアントu1についても同様の手順によりVPN通信を行うことができる。
VPNサーバプロセスは、メッセージ認証とパケットの暗号化のための共有セッション鍵K macとK encを作成して、クライアントa1とクライアントb1にこれら共有セッション鍵を送信する(ステップS31)。送信は、送信相手のクライアント公開鍵pka1とpkb1を使った暗号化通信により行う。この共有セッション鍵は、VPNサーバプロセスとクライアントa1とクライアントb1とで共有されて、次に述べるVPNの通信において使用されるものである。
また、クライアントa1(またはクライアントb1)は、同様にメッセージ認証とパケットの暗号化のためのクライアントセッション鍵K macとK encを作成し、これらをクライアントb1(またはクライアントa1)のクライアント公開鍵pkb1(またはpka1)で暗号化した上で上記の共有セッション鍵を使ってクライアントb1(またはクライアントa1)に送信する(ステップS32)。クライアントb1(クライアントa1)は、受信したクライアントセッション鍵を共有セッション鍵と自分のクライアント秘密鍵skb1(またはska1)によって復号化し、平文のクライアントセッション鍵を取得する。このクライアントセッション鍵は、共有セッション鍵と併せてVPNの通信において使用されるものであるが、上記の手順でやり取りされることによって、クライアントa1とクライアントb1との間でのみ共有されることとなる。
上記ステップにより、共有セッション鍵とクライアントセッション鍵の共有がなされると、VPN通信の準備が整うことになる。クライアントa1とクライアントb1は、共有セッション鍵とクライアントセッション鍵を使用し、VPNサーバプロセスを介したVPNによる通信を行う(ステップS33)。以下、図4を参照してVPNの具体的な通信方法を説明する。
(4)VPNによる通信の実行
図4は、VPNによりクライアントa1からクライアントb1へ通信する場合に送受信されるパケットの構造を示した図であり、上述した合計4つのセッション鍵を用いてメッセージ認証とパケットの暗号・復号化が行われる様子を示したものである。送信者であるクライアントa1は、パケットのヘッダ部分をK enc、ペイロード部分をK encでそれぞれ暗号化し、さらに、メッセージ(ヘッダ+ペイロード)とK macから作成したメッセージ認証コードMACならびにメッセージとK macから作成したMACをパケットの末尾に付加する。なお、メッセージ認証コード(MAC;Message Authentication Code)は、所定のMAC関数にメッセージと鍵を入力して得られる固定長ビットの出力値である。そして、入力に使った鍵を送信者と受信者で共有しておき、受信したメッセージと共有鍵とから計算したMACが、受信したメッセージに付加されているMACと一致すれば、受信者はそのメッセージが改竄されていないことを確認(メッセージ認証)できる。
VPNサーバプロセスは、上記MACの付加と暗号化がなされたパケットに対し、共有セッション鍵K macを使ってメッセージ認証コードMACを検証し、検証に成功した場合には、パケットからMACを削除するとともに、共有セッション鍵K encを使ってヘッダを復号化した上で当該ヘッダにしたがって宛先であるクライアントb1にパケットを送り届ける。なおこの時、VPNサーバプロセスはクライアントセッション鍵を所有していないため、ペイロードを復号化することはできない。
クライアントb1は、共有セッション鍵K encでヘッダを解析して自分宛てのパケットを選別し、当該パケットの末尾に付加されているメッセージ認証コードMACをクライアントセッション鍵K macにより検証する。検証できたら、クライアントセッション鍵K encでペイロードを復号化し、平文の送信データを得る。こうして、通信内容をVPNサーバプロセスに秘匿したまま、クライアントa1とクライアントb1とでVPNの通信が行われる。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、DHT自体はP2P(Peer to Peer)のファイル交換などで用いられる既存の技術であり、ChordやCAN、Tapestryなど種々ある方式のいずれを適用することも可能である。
また、サーバ装置のコンピュータに、上記実施形態にかかるVPNサーバホスティングシステムの機能を実現するためのコンピュータプログラムを実行させるようにすることもできる。
本発明の一実施形態にかかるVPNサーバホスティングシステムが利用されてクライアント間にVPNが構築される状況を説明する図である。 図1のVPNサーバホスティングシステムの動作を示したフローチャートである。 DHTによりVPNサーバプロセスを管理する仕組みを説明した図である。 VPN通信において送受信されるパケットの構造を示した図である。
符号の説明
10…VPNサーバホスティングシステム 11a〜11d…ホストサーバ 21…クライアント(情報端末) 31…証明書発行装置 40…インターネット

Claims (6)

  1. 複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行する、1つまたは複数のホストサーバからなるVPNサーバホスティングシステムであって、
    公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するVPNサーバ生成手段と、
    前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するVPNサーバ接続手段と、
    を備えることを特徴とするVPNサーバホスティングシステム。
  2. 前記メンバーに含まれる少なくとも一つの情報端末が、他の情報端末に対して発行されたデジタル証明書を所有せず、且つ、該デジタル証明書を発行した証明書発行装置とは異なる証明書発行装置から発行されたデジタル証明書を所有している場合において、
    前記VPNサーバプロセス特定情報を前記全ての証明書発行装置のそれぞれの公開鍵と前記メンバーを特定するメンバーリストとから構成した
    ことを特徴とする請求項1に記載のVPNサーバホスティングシステム。
  3. 前記各々のホストサーバは、自分の管理する前記ハッシュ値の範囲を定めた分散ハッシュテーブルを保持しており、
    前記VPNサーバ生成手段は、前記分散ハッシュテーブルにしたがって前記VPNサーバプロセス特定情報のハッシュ値に対応するホストサーバを選択し、該選択したホストサーバ内にVPNサーバプロセスを生成する
    ことを特徴とする請求項1または請求項2に記載のVPNサーバホスティングシステム。
  4. 前記VPNサーバ接続手段によってVPNサーバプロセスへの接続が許可された情報端末間の通信において、前記VPNサーバプロセスと前記複数の情報端末で共有される第1のセッション鍵を生成するセッション鍵生成手段と、
    前記第1のセッション鍵と前記情報端末間でのみ共有される第2のセッション鍵とを用いてメッセージ認証コードが付加され、且つ前記第1のセッション鍵を用いてヘッダが暗号化されるとともに前記第2のセッション鍵を用いてペイロードが暗号化されたパケットに対し、前記第1のセッション鍵を使用してメッセージ認証ならびに前記ヘッダの復号化を行うパケット解析手段と、
    をさらに備えることを特徴とする請求項1から請求項3のいずれかの項に記載のVPNサーバホスティングシステム。
  5. 1つまたは複数のホストサーバからなるサーバシステムにおいて前記いずれかのホストサーバに複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行させてVPNを構築するVPN構築方法であって、
    公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するステップと、
    前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するステップと、
    を備えることを特徴とするVPN構築方法。
  6. 複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行する、1つまたは複数のホストサーバからなるVPNサーバホスティングシステムにおいて、前記各ホストサーバのコンピュータに、
    公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するステップと、
    前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するステップと、
    を実行させるためのコンピュータプログラム。

JP2006197385A 2006-07-19 2006-07-19 Vpnサーバホスティングシステム、vpn構築方法、およびコンピュータプログラム Expired - Fee Related JP4837470B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006197385A JP4837470B2 (ja) 2006-07-19 2006-07-19 Vpnサーバホスティングシステム、vpn構築方法、およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006197385A JP4837470B2 (ja) 2006-07-19 2006-07-19 Vpnサーバホスティングシステム、vpn構築方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2008028576A JP2008028576A (ja) 2008-02-07
JP4837470B2 true JP4837470B2 (ja) 2011-12-14

Family

ID=39118805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006197385A Expired - Fee Related JP4837470B2 (ja) 2006-07-19 2006-07-19 Vpnサーバホスティングシステム、vpn構築方法、およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4837470B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5532993B2 (ja) * 2010-02-10 2014-06-25 ヤマハ株式会社 中継装置
FR3010599B1 (fr) * 2013-09-11 2016-12-02 Citypassenger Procede et systeme d'etablissement de reseaux prives virtuels entre reseaux locaux
JP2018046575A (ja) * 2017-11-29 2018-03-22 キヤノン株式会社 認証システム及び画像形成装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2821204B2 (ja) * 1989-11-01 1998-11-05 株式会社日立製作所 情報サービスシステム
JPH11224219A (ja) * 1998-02-05 1999-08-17 Nippon Telegr & Teleph Corp <Ntt> 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体
JP3908982B2 (ja) * 2002-05-28 2007-04-25 日本電信電話株式会社 CUG(ClosedUserGroup)管理方法及びCUG提供システム及びCUG提供プログラム及びCUG提供プログラムを格納した記憶媒体

Also Published As

Publication number Publication date
JP2008028576A (ja) 2008-02-07

Similar Documents

Publication Publication Date Title
US10771262B2 (en) Providing forward secrecy in a terminating SSL/TLS connection proxy using ephemeral Diffie-Hellman key exchange
US11271730B2 (en) Systems and methods for deployment, management and use of dynamic cipher key systems
Xue et al. A dynamic secure group sharing framework in public cloud computing
KR100860404B1 (ko) 다중 도메인 홈네트워크 환경에서의 디바이스 인증 방법 및장치
EP1635502B1 (en) Session control server and communication system
JP4962117B2 (ja) 暗号通信処理方法及び暗号通信処理装置
US20170126623A1 (en) Protected Subnet Interconnect
JP2014529238A (ja) 安全なマルチキャストクラスタ内通信を提供するためのシステムおよび方法
JP5012173B2 (ja) 暗号通信処理方法及び暗号通信処理装置
JP2005236939A (ja) ピアツーピア型匿名プロキシにおける安全性の高い匿名通信路の検証及び構築する方法
JP4490352B2 (ja) Vpnサーバホスティングシステム、およびvpn構築方法
RU2685975C2 (ru) Обеспечение безопасности связи с расширенными мультимедийными платформами
JP4344783B2 (ja) シード配信型ワンタイムid認証
WO2008002081A1 (en) Method and apparatus for authenticating device in multi domain home network environment
JP3908982B2 (ja) CUG(ClosedUserGroup)管理方法及びCUG提供システム及びCUG提供プログラム及びCUG提供プログラムを格納した記憶媒体
EP3216163B1 (en) Providing forward secrecy in a terminating ssl/tls connection proxy using ephemeral diffie-hellman key exchange
JP4837470B2 (ja) Vpnサーバホスティングシステム、vpn構築方法、およびコンピュータプログラム
KR101880999B1 (ko) 사물 인터넷 네트워크의 엔드 투 엔드 데이터 암호화 시스템 및 방법
WO2007135963A1 (ja) 認証方法及びこれを用いた認証システム
Palomar et al. Secure content access and replication in pure p2p networks
US20230045486A1 (en) Apparatus and Methods for Encrypted Communication
CN113918971A (zh) 基于区块链的消息传输方法、装置、设备及可读存储介质
Reimair et al. In Certificates We Trust--Revisited
JP2008152737A (ja) サービス提供サーバ、認証サーバ、および認証システム
Khan et al. A key management scheme for Content Centric Networking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110920

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110928

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4837470

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees