VPNシステムおよびその動作制御方法
【目的】VPNを利用した通信のセキュリティを向上させる。
【構成】VPN管理サーバ11からクライアント・コンピュータ1およびVPNサーバ13のそれぞれにシードが送信される。クライアント・コンピュータ1において,所定のアルゴリズムを用いてシードからVPNパスワードを生成し,生成されたVPNパスワードがクライアント・コンピュータ1からVPNサーバ13に送信される。VPNサーバ13においても,クライアント・コンピュータ1における所定のアルゴリズムと同じアルゴリズムを用いてシードからパスワードが生成される。クライアント・コンピュータ1から送信されたVPNパスワードとVPNサーバ13において生成されたVPNパスワードとが一致すれば認証されたとしてVPN利用が許可される。シードが漏洩してもアルゴリズムが解析されなければVPNパスワードが生成されないので,セキュリティが向上する。
【構成】VPN管理サーバ11からクライアント・コンピュータ1およびVPNサーバ13のそれぞれにシードが送信される。クライアント・コンピュータ1において,所定のアルゴリズムを用いてシードからVPNパスワードを生成し,生成されたVPNパスワードがクライアント・コンピュータ1からVPNサーバ13に送信される。VPNサーバ13においても,クライアント・コンピュータ1における所定のアルゴリズムと同じアルゴリズムを用いてシードからパスワードが生成される。クライアント・コンピュータ1から送信されたVPNパスワードとVPNサーバ13において生成されたVPNパスワードとが一致すれば認証されたとしてVPN利用が許可される。シードが漏洩してもアルゴリズムが解析されなければVPNパスワードが生成されないので,セキュリティが向上する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は,VPNシステムおよびその動作制御方法に関する。
【背景技術】
【0002】
インターネットのブロードバンド化,サーバの低価格化などにより,レンタル・サーバ,サーバ・ホスティング,サーバ・ハウジングなどのアウトソーシング・サービスがインフラ産業として成熟しつつある。これらのアウトソーシング・サービスでは,インターネットに接続され,グローバルIPアドレスが割り当てられたサーバを利用できる。
【0003】
しかしながら,サーバがインターネットに接続されている以上,全世界中から接続できるので,パスワード認証が破られるだけで,利用が許可されているユーザ以外のユーザがサーバにアクセスできてしまう。このように,アウトソーシング・サービスにおけるサーバを特定のユーザにのみ利用させることは技術的に難しい。
【0004】
このために,インターネット上にプライベート・ネットワークを構築して仮想的な専用線のように利用できるVPN(Virtual Private Network)が利用されている。通信相手との間に仮想的なトンネルをつくることにより,本来ならインターネットを経由できないプライベート・アドレスの通信が可能となる。
【0005】
このようなVPNを利用したシステムには,VPNパスワードを端末装置に送信するもの(特許文献1),VPNの管理負担を軽減するもの(特許文献2)などがある。
【0006】
しかしながら,いずれにおいても特定のユーザにVPNを利用させる場合のセキュリティは,あまり高くない。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2001-197058号公報
【特許文献2】特開2003-188901号公報
【発明の開示】
【0008】
この発明は,特定のユーザにVPNを利用させる場合のセキュリティを向上させることを目的とする。
【0009】
この発明は,VPN管理サーバとクライアント・コンピュータとVPNサーバとを含むVPNシステムに関するものである。
【0010】
上記VPN管理サーバは,上記クライアント・コンピュータがVPNトンネルを介して上記VPNサーバと通信するVPNの利用権限の確認のためのVPNパスワードを作る文字列であるシードを生成するシード生成手段,上記シード生成手段によって生成されたシードを,インターネットを介して上記クライアント・コンピュータに送信する第1のシード送信手段,および上記シード生成手段によって生成されたシードを,LANを介して上記VPNサーバに送信する第2のシード送信手段を備えている。
【0011】
上記クライアント・コンピュータは,上記VPN管理サーバの上記第1のシード送信手段から送信されたシードを用いて,第1のアルゴリズムによってVPNパスワードを生成する第1のVPNパスワード生成手段,および上記第1のVPNパスワード生成手段によって生成されたVPNパスワードを上記VPNサーバに送信するVPNパスワード送信手段を備えている。
【0012】
上記VPNサーバは,上記VPN管理サーバの上記第2のシード送信手段から送信されたシードを用いて,上記クライアント・コンピュータが上記第1のVPNパスワード生成手段によるVPNパスワードを生成する第1の所定のアルゴリズムと同じアルゴリズムによってVPNパスワードを生成する第2のVPNパスワード生成手段,および上記第2のVPNパスワード生成手段によって生成されたVPNパスワードと上記クライアント・コンピュータの上記VPNパスワード送信手段から送信されたVPNパスワードとが一致したことに応じて,上記クライアント・コンピュータによるVPNの利用を許可するVPN認証手段を備えている。
【0013】
この発明は,上記VPNシステムの動作制御方法も提供している。すなわち,VPN管理サーバとクライアント・コンピュータとVPNサーバとを含むVPNシステムの動作制御方法についてのものである。
【0014】
上記VPN管理サーバにおいて,シード生成手段が,上記クライアント・コンピュータがVPNトンネルを介して上記VPNサーバと通信するVPNの利用権限の確認のためのVPNパスワードを作る文字列であるシードを生成し,第1のシード送信手段が,上記シード生成手段によって生成されたシードを,インターネットを介して上記クライアント・コンピュータに送信し,第2のシード送信手段が,上記シード生成手段によって生成されたシードを,LANを介して上記VPNサーバに送信する。
【0015】
上記クライアント・コンピュータにおいて,第1のVPNパスワード生成手段が,上記VPN管理サーバの上記第1のシード送信手段から送信されたシードを用いて,第1のアルゴリズムによってVPNパスワードを生成し,VPNパスワード送信手段が,上記第1のVPNパスワード生成手段によって生成されたVPNパスワードを上記VPNサーバに送信する。
【0016】
上記VPNサーバにおいて,第2のVPNパスワード生成手段が,上記VPN管理サーバの上記第2のシード送信手段から送信されたシードを用いて,上記クライアント・コンピュータが上記第1のVPNパスワード生成手段によるVPNパスワードを生成する第1の所定のアルゴリズムと同じアルゴリズムによってVPNパスワードを生成し,VPN認証手段が,上記第2のVPNパスワード生成手段によって生成されたVPNパスワードと上記クライアント・コンピュータの上記VPNパスワード送信手段から送信されたVPNパスワードとが一致したことに応じて,上記クライアント・コンピュータによるVPNの利用を許可するものである。
【0017】
この発明によると,VPN管理サーバにおいてVPNパスワードを作るためのシードが生成される。生成されたシードは,VPN管理サーバからクライアント・コンピュータおよびVPNサーバのそれぞれに送信される。シードを受信したクライアント・コンピュータにおいて,第1の所定のアルゴリズムによってシードからVPNパスワードが生成される。生成されたVPNパスワードはクライアント・コンピュータからVPNサーバに送信される。シードを受信したVPNサーバにおいても,クライアント・コンピュータにおいてVPNパスワードを生成する第1の所定のアルゴリズムと同じアルゴリズムを用いてVPNパスワードが生成される。VPNサーバにおいて生成されたVPNパスワードとクライアント・コンピュータにおいて生成され,かつクライアント・コンピュータから送信されたVPNパスワードとが一致すれば,そのクライアント・コンピュータはVPNサーバにアクセスしてVPNの利用が許可される。シードの盗聴およびシードからVPNパスワードを生成する第1の所定のアルゴリズムが解析されなければVPNサーバにアクセスできないので,セキュリティを向上できる。
【0018】
上記クライアント・コンピュータは,所定の符号化用コードを,上記VPN管理サーバに固有のVPN管理サーバ・キーによって第2の所定アルゴリズムで符号化することにより得られる認証コード(ダイジェスト)を生成する第1の認証コード生成手段,ならびに上記第1の認証コード生成手段によって生成された認証コードおよび上記所定の符号化用コードを上記VPN管理サーバに送信するコード送信手段をさらに備えてもよい。
【0019】
また,上記VPN管理サーバは,上記VPN管理サーバ・キーを記憶するVPN管理サーバ・キー記憶手段,上記コード送信手段から送信され,かつ上記第1の認証コード生成手段における認証コードの生成に用いられた上記所定の符号化用コードを,上記VPN管理サーバ・キー記憶手段に記憶されているVPN管理サーバ・キーによって上記第1の認証コード生成手段における上記第2の所定アルゴリズムと同じアルゴリズムを用いて符号化することにより得られる認証コードを生成する第2の認証コード生成手段,および上記第2の認証コード生成手段によって生成された認証コードと上記クライアント・コンピュータの上記認証コード送信手段から送信された認証コードとが一致したことにより,クライアント認証するクライアント認証手段をさらに備えてもよい。
【0020】
さらに,上記VPN管理サーバの上記第1のシード送信手段は,たとえば,上記クライアント認証手段によりクライアント認証されたことに応じて,上記シード生成手段によって生成されたシードを,インターネットを介して,上記クライアント・コンピュータに送信するものである。
【0021】
上記所定の符号化コードは,たとえば,上記クライアント・コンピュータを識別するクライアント・コードおよびランダムな文字列であるソルトの少なくとも一方である。
【図面の簡単な説明】
【0022】
【図1】VPNシステムの概要を示している。
【図2】VPN設定テーブルの一例である。
【図3】クライアント・コンピュータ/VPN管理サーバ送信データの一例である。
【図4】VPN管理サーバ/VPNサーバ送信データの一例である。
【図5】VPN管理サーバ/クライアント・コンピュータ送信データの一例である。
【図6】クライアント・コンピュータ/VPNサーバ送信データの一例である。
【図7】クライアント・コンピュータの処理手順を示すフローチャートである。
【図8】VPN管理サーバの処理手順を示すフローチャートである。
【図9】VPN管理サーバの処理手順を示すフローチャートである。
【図10】VPNサーバの処理手順を示すフローチャートである。
【図11】VPNサーバの処理手順を示すフローチャートである。
【実施例】
【0023】
図1は,この発明の実施例を示すもので,VNPシステムの概要である。
【0024】
VPNシステムには,ローカル・エリア10に存在するVPN管理サーバ11,VPNサーバ13およびプライベート・サーバ15が含まれている。VPN管理サーバ11とVPNサーバ13とはLAN(ローカル・エリア・ネットワーク)16によって接続されている。また,VPNサーバ13とプライベート・サーバ15ともLAN16によって接続されている。VPN管理サーバ11には,詳しくは後述するようにVPNの設定に必要な情報を格納したVPN設定テーブルを記憶するVPN設定データベース12が接続されている。また,VPNサーバ13には,VPN/FW(ファイア・ウォール)/NAT(Network Address Translation)の設定のための情報を記憶するVPN/FW/NAT設定データベース14が接続されている。
【0025】
VPN管理サーバ11およびVPNサーバ13のそれぞれは,インターネット2を介してクライアント・コンピュータ1と通信可能である。また,詳しくは後述するように,クライアント・コンピュータ1にVPNの利用が許可されると,クライアント・コンピュータ1とVPNサーバ13(プライベート・サーバ15)とはVPNトンネル3を利用して通信が可能となる。
【0026】
クライアント・コンピュータ1,VPN管理サーバ11,VPNサーバ13およびプライベート・サーバ15のいずれも,CPU,通信回路,メモリ,ハードディスク・ドライブ,キーボード,マウス,タイマなどを有している。
【0027】
図2は,VPN設定データベース12に格納されているVPN設定テーブルの一例である。VPN設定テーブル行は,クライアント・コンピュータ1ごとに規定されている。
【0028】
VPN設定テーブルには,管理番号,クライアント・コード,VPNサーバ13のグローバルIPアドレス,プライベート・サーバ・ローカルIPアドレス,VPNサーバ側VPN−IPアドレス,クライアント側VPN−IPアドレスおよびVPNトンネル名が含まれている。
【0029】
管理番号は,VPN設定テーブル行を識別するための番号である。クライアント・コードは,クライアント・コンピュータ1を識別するためのコードである。VPNサーバのグローバルIPアドレスは,インターネット2を介してVPNサーバ13にアクセスする場合のVPNサーバ13のアドレスである。プライベート・サーバ・ローカルIPアドレスは,プライベート・サーバ15のLAN16上でのアドレスである。VPNサーバ側VPN−IPアドレスは,VPNトンネル3を利用してクライアント・コンピュータ1とVPNサーバ13とが通信する場合のVPNサーバ11のアドレスである。クライアント側VPN−IPアドレスは,VPNトンネル3を利用してクライアント・コンピュータ1とVPNサーバ13とが通信する場合のクライアント・コンピュータ1のアドレスである。VPNトンネル名はVPNトンネル3が複数存在する場合に識別するものである。
【0030】
図1に戻って,クライアント・コンピュータ1がVPNサーバ13とVPNで通信する(VPNトンネル3を用いて通信する)のに先立ち,クライアント・コンピュータ1からVPN管理サーバ11にVPN設定要求が行われる。
【0031】
図3は,このVPN設定要求おいて,クライアント・コンピュータ1からVPN管理サーバ11に送信されるクライアント・コンピュータ/VPN管理サーバ送信データの一例である。
【0032】
クライアント・コンピュータ/VPN管理サーバ送信データには,クライアント・コード,ソルト(SALT),ダイジェスト(認証コード)およびクライアント・ネットが含まれている。ソルトは,クライアント・コンピュータ1において生成されたランダムな数字列(文字列)である。ダイジェストは,クライアント・コードとソルトとを演算して,VPN管理サーバ・キーを用いて符号化(ハッシュ化)されたものである。クライアント・ネットは,クライアント・コンピュータ1が属するネットワークのアドレスとサブネット・マスクのアドレスである。VPN管理サーバ11およびクライアント・コンピュータ1にはVPN管理サーバ・キーが記憶されており,そのVPN管理サーバ・キーを用いて上記のダイジェストが生成されるのは言うまでもない。
【0033】
クライアント・コンピュータ1からのVPN設定要求がVPN管理サーバ11において受信されると,VPN管理サーバ11からVPNサーバ13にVPN/FW/NAT設定要求が行われる。
【0034】
図4は,VPN/FW/NAT設定要求において,VPN管理サーバ11からVPNサーバ13に送信されるVPN管理サーバ/VPNサーバ送信データの一例である。
【0035】
VPN管理サーバ/VPNサーバ送信データには,プライベート・サーバ15のローカルIPアドレス,VPNサーバ側のVPN−IPアドレス,クライアント側のVPN−IPアドレス,VPNトンネル名およびVPNパスワードのシードが含まれている。VPNパスワードのシードは,VPNパスワードを生成するための文字列である。このVPNパスワードは,クライアント・コンピュータ1とLANサーバ13とがVPNトンネル3を利用して通信する場合にクライアント・コンピュータ1に,その利用権限があるかどうかを確認するためのものである。
【0036】
図1に戻って,クライアント・コンピュータ1からVPN管理サーバ11へのVPN設定要求に応じて,VPN管理サーバ11からクライアント・コンピュータ1にVPN設定応答が行われる。
【0037】
図5は,VPN設定応答において,VPN管理サーバ11からクライアント・コンピュータ1に送信されるVPN管理サーバ/クライアント・コンピュータ送信データの一例である。
【0038】
VPN管理サーバ/クライアント・コンピュータ送信データには,VPNサーバのグローバルIPアドレス,VPNサーバ側のVPN−IPアドレス,クライアント側のVPN−IPアドレス,VPNトンネル名,VPNパスワードのシードおよびプライベート・サーバ名が含まれている。
【0039】
再び,図1に戻って,VPN管理サーバ11からクライアント・コンピュータ1へのVPN設定応答に応じて,クライアント・コンピュータ1からVPNサーバ13にVPN接続要求が行われる。
【0040】
図6は,VPN接続要求において,クライアント・コンピュータ1からVPNサーバ13に送信されるクライアント・コンピュータ/VPNサーバ送信データの一例である。
【0041】
クライアント・コンピュータ/VPNサーバ送信データには,VPNサーバ側のVPN−IPアドレス,クライアント側のVPN−IPアドレス,VPNトンネル名およびVPNパスワードが含まれている。VPNパスワードは,VPNのシードから生成されたものである。
【0042】
図1に戻って,クライアント・コンピュータ1から送信されたVPNパスワードが正当なパスワードであることがVPNサーバ13において確認されると,クライアント・コンピュータ1とVPNサーバ13との間でVPNトンネル3を利用した通信が行われる。VPNサーバ13のNAT機能によって,クライアント・コンピュータ1から送信されたデータがVPNサーバ13を経由してプライベート・サーバ15に送信され,かつプライベート・サーバ15から送信されたデータがVPNサーバ13を経由してクライアント・コンピュータ1に送信されることにより,クライアント・コンピュータ1とプライベート・サーバ15との通信ができるようになる。より詳しくは,以下の説明によって明らかとなろう。
【0043】
図7から図11は,VPNシステムの処理手順を示すフローチャートである。図7はクライアント・コンピュータ1の処理手順を示すフローチャート,図8および図9はVPN管理サーバ11の処理手順を示すフローチャート,図10および図11はVPNサーバ13の処理手順を示すフローチャートである。
【0044】
上述したようにVPN管理サーバ11へのVPN設定要求に先だって,クライアント・コンピュータ1において,クライアント・コードとソルトとが演算され(またはクライアント・コードとソルトとの少なくとも一方である符号化コードに対して),VPN管理サーバ・キーを用いて所定のアルゴリズム(第2の所定のアルゴリズム)にしたがって,ダイジェスト(認証コード)が生成される(図7ステップ21)。上述のように,クライアント・コード,ソルト,生成されたダイジェストおよびクライアント・ネットを含むクライアント・コンピュータ/VPN管理サーバ送信データがクライアント・コンピュータ1からVPN管理サーバ11にSSLなどによって暗号化された上で送信されて,クライアント・コンピュータ1からVPN管理サーバ11にVPN設定要求が行われる(図7ステップ22)。
【0045】
クライアント・コンピュータ1から送信されたクライアント・コンピュータ/VPN管理サーバ送信データがVPN管理サーバ11において受信されると(図8ステップ31),VPN管理サーバ11において,受信したデータに含まれているクライアント・コードとソルトとが復号後に演算され,VPN管理サーバ11が記憶しているVPN管理サーバ・キーを用いて,クライアント・コンピュータ1におけるダイジェストを生成する所定のアルゴリズムと同じアルゴリズム(第2の所定のアルゴリズム)にしたがって,ダイジェストが生成される(図8ステップ32)。VPN管理サーバ11において生成されたダイジェストとクライアント・コンピュータ1から送信されたダイジェストとが一致するかどうかが確認され,一致すると(図8ステップ33),VPN管理サーバ11にVPN設定要求をしたクライアント・コンピュータ1はVPNシステムの利用権限のあるユーザのものであるとしてクライアント認証される(図8ステップ34)。
【0046】
クライアント・コンピュータ1とVPNサーバ11との間で共通鍵を通信させることにより,共通鍵をクライアント・コンピュータ1とVPNサーバ11記憶させて共通鍵を利用してクライアント認証する場合には,共通鍵の通信時に共通鍵が漏洩することがあり,漏洩した共通鍵を用いて第三者がクライアント認証することがある。しかしながら,この実施例においては,共通鍵を送信せずに,クライアント・コンピュータ1において所定のアルゴリズムで生成されたダイジェストを送信し,かつVPN管理サーバ11においても,その所定のアルゴリズムと同じアルゴリズムを用いてダイジェストを生成し,クライアント・コンピュータ1から送信されたダイジェストとVPN管理サーバ11において生成されたダイジェストとが一致するかどうかで確認している。この実施例においては,クライアント・コード,VPN管理サーバ・キーなどが盗まれてもダイジェストを生成するための所定のアルゴリズムが解析されなければ,クライアント認証されないのでセキュリティが向上する。
【0047】
また,SSL(Secure Socket Layer)を利用することで,クライアント・コンピュータ1がVPN管理サーバ11を認証することもできる。これにより,クライアント・コンピュータ1の認証とVPN管理サーバ11の認証との相互認証が可能となる。この場合,クライアント・コンピュータ1は,さらにSSLのルート証明書を保持することとなろう。
【0048】
つづいて,VPN管理サーバ11において,VPNパスワードを作るための文字列であるシードが生成される(図9ステップ35)。また,VPN管理サーバ11において,受信したクライアント・ネットから,クライアント・コンピュータ1がすでに属しているプライベートIPアドレス範囲やプライベートサーバ15がすでに属しているプライベートIPアドレス範囲と衝突しないように,VPN−IPアドレス範囲および上述したクライアント側およびサーバ側のVPN−IPアドレスが決定される(図9ステップ36)。クライアント側のVPN−IPアドレスが決定すると,上述のようにVPN管理サーバ11からVPNサーバ13にVPN管理サーバ/VPNサーバ送信データが送信される(図9ステップ37)。
【0049】
VPN管理サーバ11から送信されたVPN管理サーバ/VPNサーバ送信データがVPNサーバ11において受信されると(図10ステップ41),受信したVPN管理サーバVPNサーバ送信データを用いてVPNサーバ13において,VPNの設定,FW(ファイア・ウォール)の設定およびNATの設定(VPN/FW/NATの設定)が行われる(図10ステップ42)。VPNの設定は,VPN管理サーバ/VPNサーバ送信データに含まれるVPNトンネル名によって特定されるVPNトンネルの定義を行うものである。また,VPNの設定において,VPNトンネル名,VPNサーバ側のVPN−IPアドレス,クライアント側のVPN−IPアドレスおよびVPNパスワードもVPN/FW/NAT設定データベース14に格納される。FWの設定は,クライアント・コンピュータ1のグローバルIPアドレスからの接続を許可する設定を行う。VPN管理サーバ11は,クライアント・コンピュータ1とグローバルIPアドレスを利用して通信することとなるから,クライアント・コンピュータ1のグローバルIPアドレスがわかる。このために,VPNサーバ11は,クライアント・コンピュータ1のグローバルIPアドレスをVPN管理サーバ11から送信されることとなろう。NATの設定は,VPNサーバ側のVPN−IPアドレスをプライベート・サーバ15のローカルIPアドレスに一対一に変換する設定を行うものである。ファイア・ウォールはVPNサーバ13が有さずに,VPNサーバ13とは別の装置であってもよい。
【0050】
つづいて,VPNサーバ11において,受信したシードから所定のアルゴリズム(第1の所定のアルゴリズム)にしたがってVPNパスワードが生成される(図10ステップ43)。すると,VPN/FW/NATの設定終了を示すデータがVPNサーバ13からVPN管理サーバ11に送信される(図10ステップ44)。さらに,VPNサーバ13に内蔵されるタイマによって計時が開始する(図10ステップ45)。
【0051】
VPNサーバ13から送信されたVPN/FW/NATの設定終了を示すデータがVPN管理サーバ11において受信されると(図9ステップ38),VPN管理サーバ11からクライアント・コンピュータ1にVPN管理サーバ/クライアント・コンピュータ送信データが送信される(図9ステップ39)。
【0052】
VPN管理サーバ11から送信されたVPN管理サーバ/クライアント・コンピュータ送信データがクライアント・コンピュータ1において受信されると(図7ステップ23),VPN管理サーバ11においてクライアント認証の失敗などのエラーが発生したかどうかが判定される(図7ステップ24)。エラーが発生すると(図7ステップ24でYES),所定のエラー処理が行なわれる。エラーが発生しなければ(図7ステップ24でNO),VPN管理サーバ/クライアント・コンピュータ送信データに含まれているシードから,VPNサーバ13においてVPNパスワードを生成するための所定のアルゴリズムと同じアルゴリズム(第1の所定のアルゴリズム)を用いてVPNパスワードが生成される(図7ステップ25)。
【0053】
つづいて,クライアント・コンピュータ1がVPNサーバ13のグローバルIPアドレスにアクセスしてクライアント・コンピュータ/VPNサーバ送信データが送信され,VPNサーバ13に対してVPN接続要求が行われる(図7ステップ26)。VPNサーバ13のファイア・ウォールは,クライアント・コンピュータ1のグローバルIPアドレスからのアクセスについては許可するように設定されているのは上述の通りである。
【0054】
VPNサーバ13において,タイマによる計時の開始から一定時間経過する前に(図10ステップ46でNO),クライアント・コンピュータ1からVPN接続要求があると(図10ステップ47でYES),クライアント・コンピュータ1から送信されたクライアント・コンピュータ/VPNサーバ送信データがVPNサーバ13において受信される(図11ステップ48)。クライアント・コンピュータ/VPNサーバ送信データに含まれているVPNトンネル名に対応するVPNパスワードが,VPNトンネル名に対応してVPNサーバ13においてすでに生成されているVPNパスワードと一致するかどうかが確認される(図11ステップ49)。一致すれば(図11ステップ49でYES),クライアント認証されたものとしてVPNの利用を許可するデータがVPNサーバ13からクライアント・コンピュータ1のグローバルIPアドレス宛に送信される(図11ステップ50)。クライアント・コンピュータ1のグローバルIPアドレスは,クライアント・コンピュータ1からVPNサーバ13にクライアント・コンピュータ/VPNサーバ送信データを送信するときに,付随してVPNサーバ13に送信され,VPNサーバ13が認識できるのはいうまでもない。また,タイマはリセットされる(図11ステップ51)。
【0055】
VPNサーバ13から送信されたVPNの利用を許可するデータがクライアント・コンピュータ1において受信されると(図7ステップ27),クライアント・コンピュータ1はクライアント・コンピュータ側のVPN−IPアドレスを用いて,VPNサーバ13はVPNサーバ側のVPN−IPアドレスを用いて,クライアント・コンピュータ1とVPNサーバ13とがVPNトンネル3を利用したVPN通信が行われる(図7ステップ28)。つづいて,VPN管理サーバ11においてパスワード認証の失敗などのエラーが発生したかどうかが判定される(図7ステップ29)。エラーが発生すると(図7ステップ29でYES),所定のエラー処理が行なわれる。
【0056】
VPNトンネル3を介してクライアント・コンピュータ1から,VPNサーバ13のVPNサーバ側のVPN−IPアドレス宛にデータが送信されると,そのデータが受信され,VPNサーバ13において,受信したデータの送信宛のアドレスがVPNサーバ側のVPN−IPアドレスからプライベート・サーバ15のローカル・アドレスに変更させられる。変更させられてプライベート・サーバ15のローカル・アドレス宛に,クライアント・コンピュータ1から送信され,かつVPNサーバ13において受信したデータが送信される(図11ステップ52)。
【0057】
VPNサーバ13から送信されたデータはLAN16を介してプライベート・サーバ15に送信され,プライベート・サーバ15において受信される。プライベート・サーバ15からデータの受信に応答したデータがVPNサーバ13に送信される。
【0058】
プライベート・サーバ15から送信されたデータがVPNサーバ13において受信されると,その受信したデータがVPNサーバ13によって,送信元のアドレスをVPNサーバ側のVPN−IPアドレスに変更させられ,VPNトンネル3を介してクライアント・コンピュータ1のクライアント側のVPN−IPアドレス宛に送信される(図11ステップ53)。以下,同様にしてVPNトンネル3およびVPNサーバ13を介してクライアント・コンピュータ1とプライベート・サーバ15が通信される。
【0059】
上述の実施例においては,VPNトンネル3を利用した通信をするためにクライアント・コンピュータ1においてシードから所定のアルゴリズムによりVPNパスワード生成し,VPNサーバ13においてもクライアント・コンピュータ1において利用された所定のアルゴリズムと同じアルゴリズムを用いてVPNパスワードを生成し,それらのVPNパスワードが一致したときに認証している。シードが漏洩しても所定のアルゴリズムが解析されなければVPNトンネル3を利用した通信ができないので,高いセキュリティを実現できる。
【0060】
VPNサーバ13によるタイマの計時から一定時間(例えば,数分)が経過しても(図10ステップ46でYES),クライアント・コンピュータ1からVPN接続要求がなければ(図10ステップ46でYES),タイマがリセットされ(図10ステップ54),その後にクライアント・コンピュータ1からVPN接続要求があってもアクセスを拒否するようにVPNサーバ13のファイア・ウォール機能が設定される(図10ステップ55)。タイマの計時開始から一定時間内にのみVPN接続要求を受け付けるので,VPNサーバ11に対する無差別なアカウント総当たりなどにより第三者のクライアント・コンピュータがVPNサーバ11に対してVPNトンネル3を利用してしまうことも未然に防止できる。
【0061】
上述の実施例において,クライアント・コンピュータ1とVPN管理サーバ11またはVPNサーバ13との通信障害,認証失敗などが生じた場合には,クライアント・コンピュータ1の表示装置の表示画面にその旨を知らせるメッセージを表示し,クライアント・コンピュータ1のユーザに再度の接続要求を促すようにしてもよい。クライアント・コンピュータ1を操作するユーザが存在しない場合には,一定またはランダムな時間の経過後に再度接続する処理が行われよう。
【符号の説明】
【0062】
1 クライアント・コンピュータ
2 インターネット
3 VPNトンネル
11 VPN管理サーバ
13 VPNサーバ
15 プライベート・サーバ
16 LAN
【技術分野】
【0001】
この発明は,VPNシステムおよびその動作制御方法に関する。
【背景技術】
【0002】
インターネットのブロードバンド化,サーバの低価格化などにより,レンタル・サーバ,サーバ・ホスティング,サーバ・ハウジングなどのアウトソーシング・サービスがインフラ産業として成熟しつつある。これらのアウトソーシング・サービスでは,インターネットに接続され,グローバルIPアドレスが割り当てられたサーバを利用できる。
【0003】
しかしながら,サーバがインターネットに接続されている以上,全世界中から接続できるので,パスワード認証が破られるだけで,利用が許可されているユーザ以外のユーザがサーバにアクセスできてしまう。このように,アウトソーシング・サービスにおけるサーバを特定のユーザにのみ利用させることは技術的に難しい。
【0004】
このために,インターネット上にプライベート・ネットワークを構築して仮想的な専用線のように利用できるVPN(Virtual Private Network)が利用されている。通信相手との間に仮想的なトンネルをつくることにより,本来ならインターネットを経由できないプライベート・アドレスの通信が可能となる。
【0005】
このようなVPNを利用したシステムには,VPNパスワードを端末装置に送信するもの(特許文献1),VPNの管理負担を軽減するもの(特許文献2)などがある。
【0006】
しかしながら,いずれにおいても特定のユーザにVPNを利用させる場合のセキュリティは,あまり高くない。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2001-197058号公報
【特許文献2】特開2003-188901号公報
【発明の開示】
【0008】
この発明は,特定のユーザにVPNを利用させる場合のセキュリティを向上させることを目的とする。
【0009】
この発明は,VPN管理サーバとクライアント・コンピュータとVPNサーバとを含むVPNシステムに関するものである。
【0010】
上記VPN管理サーバは,上記クライアント・コンピュータがVPNトンネルを介して上記VPNサーバと通信するVPNの利用権限の確認のためのVPNパスワードを作る文字列であるシードを生成するシード生成手段,上記シード生成手段によって生成されたシードを,インターネットを介して上記クライアント・コンピュータに送信する第1のシード送信手段,および上記シード生成手段によって生成されたシードを,LANを介して上記VPNサーバに送信する第2のシード送信手段を備えている。
【0011】
上記クライアント・コンピュータは,上記VPN管理サーバの上記第1のシード送信手段から送信されたシードを用いて,第1のアルゴリズムによってVPNパスワードを生成する第1のVPNパスワード生成手段,および上記第1のVPNパスワード生成手段によって生成されたVPNパスワードを上記VPNサーバに送信するVPNパスワード送信手段を備えている。
【0012】
上記VPNサーバは,上記VPN管理サーバの上記第2のシード送信手段から送信されたシードを用いて,上記クライアント・コンピュータが上記第1のVPNパスワード生成手段によるVPNパスワードを生成する第1の所定のアルゴリズムと同じアルゴリズムによってVPNパスワードを生成する第2のVPNパスワード生成手段,および上記第2のVPNパスワード生成手段によって生成されたVPNパスワードと上記クライアント・コンピュータの上記VPNパスワード送信手段から送信されたVPNパスワードとが一致したことに応じて,上記クライアント・コンピュータによるVPNの利用を許可するVPN認証手段を備えている。
【0013】
この発明は,上記VPNシステムの動作制御方法も提供している。すなわち,VPN管理サーバとクライアント・コンピュータとVPNサーバとを含むVPNシステムの動作制御方法についてのものである。
【0014】
上記VPN管理サーバにおいて,シード生成手段が,上記クライアント・コンピュータがVPNトンネルを介して上記VPNサーバと通信するVPNの利用権限の確認のためのVPNパスワードを作る文字列であるシードを生成し,第1のシード送信手段が,上記シード生成手段によって生成されたシードを,インターネットを介して上記クライアント・コンピュータに送信し,第2のシード送信手段が,上記シード生成手段によって生成されたシードを,LANを介して上記VPNサーバに送信する。
【0015】
上記クライアント・コンピュータにおいて,第1のVPNパスワード生成手段が,上記VPN管理サーバの上記第1のシード送信手段から送信されたシードを用いて,第1のアルゴリズムによってVPNパスワードを生成し,VPNパスワード送信手段が,上記第1のVPNパスワード生成手段によって生成されたVPNパスワードを上記VPNサーバに送信する。
【0016】
上記VPNサーバにおいて,第2のVPNパスワード生成手段が,上記VPN管理サーバの上記第2のシード送信手段から送信されたシードを用いて,上記クライアント・コンピュータが上記第1のVPNパスワード生成手段によるVPNパスワードを生成する第1の所定のアルゴリズムと同じアルゴリズムによってVPNパスワードを生成し,VPN認証手段が,上記第2のVPNパスワード生成手段によって生成されたVPNパスワードと上記クライアント・コンピュータの上記VPNパスワード送信手段から送信されたVPNパスワードとが一致したことに応じて,上記クライアント・コンピュータによるVPNの利用を許可するものである。
【0017】
この発明によると,VPN管理サーバにおいてVPNパスワードを作るためのシードが生成される。生成されたシードは,VPN管理サーバからクライアント・コンピュータおよびVPNサーバのそれぞれに送信される。シードを受信したクライアント・コンピュータにおいて,第1の所定のアルゴリズムによってシードからVPNパスワードが生成される。生成されたVPNパスワードはクライアント・コンピュータからVPNサーバに送信される。シードを受信したVPNサーバにおいても,クライアント・コンピュータにおいてVPNパスワードを生成する第1の所定のアルゴリズムと同じアルゴリズムを用いてVPNパスワードが生成される。VPNサーバにおいて生成されたVPNパスワードとクライアント・コンピュータにおいて生成され,かつクライアント・コンピュータから送信されたVPNパスワードとが一致すれば,そのクライアント・コンピュータはVPNサーバにアクセスしてVPNの利用が許可される。シードの盗聴およびシードからVPNパスワードを生成する第1の所定のアルゴリズムが解析されなければVPNサーバにアクセスできないので,セキュリティを向上できる。
【0018】
上記クライアント・コンピュータは,所定の符号化用コードを,上記VPN管理サーバに固有のVPN管理サーバ・キーによって第2の所定アルゴリズムで符号化することにより得られる認証コード(ダイジェスト)を生成する第1の認証コード生成手段,ならびに上記第1の認証コード生成手段によって生成された認証コードおよび上記所定の符号化用コードを上記VPN管理サーバに送信するコード送信手段をさらに備えてもよい。
【0019】
また,上記VPN管理サーバは,上記VPN管理サーバ・キーを記憶するVPN管理サーバ・キー記憶手段,上記コード送信手段から送信され,かつ上記第1の認証コード生成手段における認証コードの生成に用いられた上記所定の符号化用コードを,上記VPN管理サーバ・キー記憶手段に記憶されているVPN管理サーバ・キーによって上記第1の認証コード生成手段における上記第2の所定アルゴリズムと同じアルゴリズムを用いて符号化することにより得られる認証コードを生成する第2の認証コード生成手段,および上記第2の認証コード生成手段によって生成された認証コードと上記クライアント・コンピュータの上記認証コード送信手段から送信された認証コードとが一致したことにより,クライアント認証するクライアント認証手段をさらに備えてもよい。
【0020】
さらに,上記VPN管理サーバの上記第1のシード送信手段は,たとえば,上記クライアント認証手段によりクライアント認証されたことに応じて,上記シード生成手段によって生成されたシードを,インターネットを介して,上記クライアント・コンピュータに送信するものである。
【0021】
上記所定の符号化コードは,たとえば,上記クライアント・コンピュータを識別するクライアント・コードおよびランダムな文字列であるソルトの少なくとも一方である。
【図面の簡単な説明】
【0022】
【図1】VPNシステムの概要を示している。
【図2】VPN設定テーブルの一例である。
【図3】クライアント・コンピュータ/VPN管理サーバ送信データの一例である。
【図4】VPN管理サーバ/VPNサーバ送信データの一例である。
【図5】VPN管理サーバ/クライアント・コンピュータ送信データの一例である。
【図6】クライアント・コンピュータ/VPNサーバ送信データの一例である。
【図7】クライアント・コンピュータの処理手順を示すフローチャートである。
【図8】VPN管理サーバの処理手順を示すフローチャートである。
【図9】VPN管理サーバの処理手順を示すフローチャートである。
【図10】VPNサーバの処理手順を示すフローチャートである。
【図11】VPNサーバの処理手順を示すフローチャートである。
【実施例】
【0023】
図1は,この発明の実施例を示すもので,VNPシステムの概要である。
【0024】
VPNシステムには,ローカル・エリア10に存在するVPN管理サーバ11,VPNサーバ13およびプライベート・サーバ15が含まれている。VPN管理サーバ11とVPNサーバ13とはLAN(ローカル・エリア・ネットワーク)16によって接続されている。また,VPNサーバ13とプライベート・サーバ15ともLAN16によって接続されている。VPN管理サーバ11には,詳しくは後述するようにVPNの設定に必要な情報を格納したVPN設定テーブルを記憶するVPN設定データベース12が接続されている。また,VPNサーバ13には,VPN/FW(ファイア・ウォール)/NAT(Network Address Translation)の設定のための情報を記憶するVPN/FW/NAT設定データベース14が接続されている。
【0025】
VPN管理サーバ11およびVPNサーバ13のそれぞれは,インターネット2を介してクライアント・コンピュータ1と通信可能である。また,詳しくは後述するように,クライアント・コンピュータ1にVPNの利用が許可されると,クライアント・コンピュータ1とVPNサーバ13(プライベート・サーバ15)とはVPNトンネル3を利用して通信が可能となる。
【0026】
クライアント・コンピュータ1,VPN管理サーバ11,VPNサーバ13およびプライベート・サーバ15のいずれも,CPU,通信回路,メモリ,ハードディスク・ドライブ,キーボード,マウス,タイマなどを有している。
【0027】
図2は,VPN設定データベース12に格納されているVPN設定テーブルの一例である。VPN設定テーブル行は,クライアント・コンピュータ1ごとに規定されている。
【0028】
VPN設定テーブルには,管理番号,クライアント・コード,VPNサーバ13のグローバルIPアドレス,プライベート・サーバ・ローカルIPアドレス,VPNサーバ側VPN−IPアドレス,クライアント側VPN−IPアドレスおよびVPNトンネル名が含まれている。
【0029】
管理番号は,VPN設定テーブル行を識別するための番号である。クライアント・コードは,クライアント・コンピュータ1を識別するためのコードである。VPNサーバのグローバルIPアドレスは,インターネット2を介してVPNサーバ13にアクセスする場合のVPNサーバ13のアドレスである。プライベート・サーバ・ローカルIPアドレスは,プライベート・サーバ15のLAN16上でのアドレスである。VPNサーバ側VPN−IPアドレスは,VPNトンネル3を利用してクライアント・コンピュータ1とVPNサーバ13とが通信する場合のVPNサーバ11のアドレスである。クライアント側VPN−IPアドレスは,VPNトンネル3を利用してクライアント・コンピュータ1とVPNサーバ13とが通信する場合のクライアント・コンピュータ1のアドレスである。VPNトンネル名はVPNトンネル3が複数存在する場合に識別するものである。
【0030】
図1に戻って,クライアント・コンピュータ1がVPNサーバ13とVPNで通信する(VPNトンネル3を用いて通信する)のに先立ち,クライアント・コンピュータ1からVPN管理サーバ11にVPN設定要求が行われる。
【0031】
図3は,このVPN設定要求おいて,クライアント・コンピュータ1からVPN管理サーバ11に送信されるクライアント・コンピュータ/VPN管理サーバ送信データの一例である。
【0032】
クライアント・コンピュータ/VPN管理サーバ送信データには,クライアント・コード,ソルト(SALT),ダイジェスト(認証コード)およびクライアント・ネットが含まれている。ソルトは,クライアント・コンピュータ1において生成されたランダムな数字列(文字列)である。ダイジェストは,クライアント・コードとソルトとを演算して,VPN管理サーバ・キーを用いて符号化(ハッシュ化)されたものである。クライアント・ネットは,クライアント・コンピュータ1が属するネットワークのアドレスとサブネット・マスクのアドレスである。VPN管理サーバ11およびクライアント・コンピュータ1にはVPN管理サーバ・キーが記憶されており,そのVPN管理サーバ・キーを用いて上記のダイジェストが生成されるのは言うまでもない。
【0033】
クライアント・コンピュータ1からのVPN設定要求がVPN管理サーバ11において受信されると,VPN管理サーバ11からVPNサーバ13にVPN/FW/NAT設定要求が行われる。
【0034】
図4は,VPN/FW/NAT設定要求において,VPN管理サーバ11からVPNサーバ13に送信されるVPN管理サーバ/VPNサーバ送信データの一例である。
【0035】
VPN管理サーバ/VPNサーバ送信データには,プライベート・サーバ15のローカルIPアドレス,VPNサーバ側のVPN−IPアドレス,クライアント側のVPN−IPアドレス,VPNトンネル名およびVPNパスワードのシードが含まれている。VPNパスワードのシードは,VPNパスワードを生成するための文字列である。このVPNパスワードは,クライアント・コンピュータ1とLANサーバ13とがVPNトンネル3を利用して通信する場合にクライアント・コンピュータ1に,その利用権限があるかどうかを確認するためのものである。
【0036】
図1に戻って,クライアント・コンピュータ1からVPN管理サーバ11へのVPN設定要求に応じて,VPN管理サーバ11からクライアント・コンピュータ1にVPN設定応答が行われる。
【0037】
図5は,VPN設定応答において,VPN管理サーバ11からクライアント・コンピュータ1に送信されるVPN管理サーバ/クライアント・コンピュータ送信データの一例である。
【0038】
VPN管理サーバ/クライアント・コンピュータ送信データには,VPNサーバのグローバルIPアドレス,VPNサーバ側のVPN−IPアドレス,クライアント側のVPN−IPアドレス,VPNトンネル名,VPNパスワードのシードおよびプライベート・サーバ名が含まれている。
【0039】
再び,図1に戻って,VPN管理サーバ11からクライアント・コンピュータ1へのVPN設定応答に応じて,クライアント・コンピュータ1からVPNサーバ13にVPN接続要求が行われる。
【0040】
図6は,VPN接続要求において,クライアント・コンピュータ1からVPNサーバ13に送信されるクライアント・コンピュータ/VPNサーバ送信データの一例である。
【0041】
クライアント・コンピュータ/VPNサーバ送信データには,VPNサーバ側のVPN−IPアドレス,クライアント側のVPN−IPアドレス,VPNトンネル名およびVPNパスワードが含まれている。VPNパスワードは,VPNのシードから生成されたものである。
【0042】
図1に戻って,クライアント・コンピュータ1から送信されたVPNパスワードが正当なパスワードであることがVPNサーバ13において確認されると,クライアント・コンピュータ1とVPNサーバ13との間でVPNトンネル3を利用した通信が行われる。VPNサーバ13のNAT機能によって,クライアント・コンピュータ1から送信されたデータがVPNサーバ13を経由してプライベート・サーバ15に送信され,かつプライベート・サーバ15から送信されたデータがVPNサーバ13を経由してクライアント・コンピュータ1に送信されることにより,クライアント・コンピュータ1とプライベート・サーバ15との通信ができるようになる。より詳しくは,以下の説明によって明らかとなろう。
【0043】
図7から図11は,VPNシステムの処理手順を示すフローチャートである。図7はクライアント・コンピュータ1の処理手順を示すフローチャート,図8および図9はVPN管理サーバ11の処理手順を示すフローチャート,図10および図11はVPNサーバ13の処理手順を示すフローチャートである。
【0044】
上述したようにVPN管理サーバ11へのVPN設定要求に先だって,クライアント・コンピュータ1において,クライアント・コードとソルトとが演算され(またはクライアント・コードとソルトとの少なくとも一方である符号化コードに対して),VPN管理サーバ・キーを用いて所定のアルゴリズム(第2の所定のアルゴリズム)にしたがって,ダイジェスト(認証コード)が生成される(図7ステップ21)。上述のように,クライアント・コード,ソルト,生成されたダイジェストおよびクライアント・ネットを含むクライアント・コンピュータ/VPN管理サーバ送信データがクライアント・コンピュータ1からVPN管理サーバ11にSSLなどによって暗号化された上で送信されて,クライアント・コンピュータ1からVPN管理サーバ11にVPN設定要求が行われる(図7ステップ22)。
【0045】
クライアント・コンピュータ1から送信されたクライアント・コンピュータ/VPN管理サーバ送信データがVPN管理サーバ11において受信されると(図8ステップ31),VPN管理サーバ11において,受信したデータに含まれているクライアント・コードとソルトとが復号後に演算され,VPN管理サーバ11が記憶しているVPN管理サーバ・キーを用いて,クライアント・コンピュータ1におけるダイジェストを生成する所定のアルゴリズムと同じアルゴリズム(第2の所定のアルゴリズム)にしたがって,ダイジェストが生成される(図8ステップ32)。VPN管理サーバ11において生成されたダイジェストとクライアント・コンピュータ1から送信されたダイジェストとが一致するかどうかが確認され,一致すると(図8ステップ33),VPN管理サーバ11にVPN設定要求をしたクライアント・コンピュータ1はVPNシステムの利用権限のあるユーザのものであるとしてクライアント認証される(図8ステップ34)。
【0046】
クライアント・コンピュータ1とVPNサーバ11との間で共通鍵を通信させることにより,共通鍵をクライアント・コンピュータ1とVPNサーバ11記憶させて共通鍵を利用してクライアント認証する場合には,共通鍵の通信時に共通鍵が漏洩することがあり,漏洩した共通鍵を用いて第三者がクライアント認証することがある。しかしながら,この実施例においては,共通鍵を送信せずに,クライアント・コンピュータ1において所定のアルゴリズムで生成されたダイジェストを送信し,かつVPN管理サーバ11においても,その所定のアルゴリズムと同じアルゴリズムを用いてダイジェストを生成し,クライアント・コンピュータ1から送信されたダイジェストとVPN管理サーバ11において生成されたダイジェストとが一致するかどうかで確認している。この実施例においては,クライアント・コード,VPN管理サーバ・キーなどが盗まれてもダイジェストを生成するための所定のアルゴリズムが解析されなければ,クライアント認証されないのでセキュリティが向上する。
【0047】
また,SSL(Secure Socket Layer)を利用することで,クライアント・コンピュータ1がVPN管理サーバ11を認証することもできる。これにより,クライアント・コンピュータ1の認証とVPN管理サーバ11の認証との相互認証が可能となる。この場合,クライアント・コンピュータ1は,さらにSSLのルート証明書を保持することとなろう。
【0048】
つづいて,VPN管理サーバ11において,VPNパスワードを作るための文字列であるシードが生成される(図9ステップ35)。また,VPN管理サーバ11において,受信したクライアント・ネットから,クライアント・コンピュータ1がすでに属しているプライベートIPアドレス範囲やプライベートサーバ15がすでに属しているプライベートIPアドレス範囲と衝突しないように,VPN−IPアドレス範囲および上述したクライアント側およびサーバ側のVPN−IPアドレスが決定される(図9ステップ36)。クライアント側のVPN−IPアドレスが決定すると,上述のようにVPN管理サーバ11からVPNサーバ13にVPN管理サーバ/VPNサーバ送信データが送信される(図9ステップ37)。
【0049】
VPN管理サーバ11から送信されたVPN管理サーバ/VPNサーバ送信データがVPNサーバ11において受信されると(図10ステップ41),受信したVPN管理サーバVPNサーバ送信データを用いてVPNサーバ13において,VPNの設定,FW(ファイア・ウォール)の設定およびNATの設定(VPN/FW/NATの設定)が行われる(図10ステップ42)。VPNの設定は,VPN管理サーバ/VPNサーバ送信データに含まれるVPNトンネル名によって特定されるVPNトンネルの定義を行うものである。また,VPNの設定において,VPNトンネル名,VPNサーバ側のVPN−IPアドレス,クライアント側のVPN−IPアドレスおよびVPNパスワードもVPN/FW/NAT設定データベース14に格納される。FWの設定は,クライアント・コンピュータ1のグローバルIPアドレスからの接続を許可する設定を行う。VPN管理サーバ11は,クライアント・コンピュータ1とグローバルIPアドレスを利用して通信することとなるから,クライアント・コンピュータ1のグローバルIPアドレスがわかる。このために,VPNサーバ11は,クライアント・コンピュータ1のグローバルIPアドレスをVPN管理サーバ11から送信されることとなろう。NATの設定は,VPNサーバ側のVPN−IPアドレスをプライベート・サーバ15のローカルIPアドレスに一対一に変換する設定を行うものである。ファイア・ウォールはVPNサーバ13が有さずに,VPNサーバ13とは別の装置であってもよい。
【0050】
つづいて,VPNサーバ11において,受信したシードから所定のアルゴリズム(第1の所定のアルゴリズム)にしたがってVPNパスワードが生成される(図10ステップ43)。すると,VPN/FW/NATの設定終了を示すデータがVPNサーバ13からVPN管理サーバ11に送信される(図10ステップ44)。さらに,VPNサーバ13に内蔵されるタイマによって計時が開始する(図10ステップ45)。
【0051】
VPNサーバ13から送信されたVPN/FW/NATの設定終了を示すデータがVPN管理サーバ11において受信されると(図9ステップ38),VPN管理サーバ11からクライアント・コンピュータ1にVPN管理サーバ/クライアント・コンピュータ送信データが送信される(図9ステップ39)。
【0052】
VPN管理サーバ11から送信されたVPN管理サーバ/クライアント・コンピュータ送信データがクライアント・コンピュータ1において受信されると(図7ステップ23),VPN管理サーバ11においてクライアント認証の失敗などのエラーが発生したかどうかが判定される(図7ステップ24)。エラーが発生すると(図7ステップ24でYES),所定のエラー処理が行なわれる。エラーが発生しなければ(図7ステップ24でNO),VPN管理サーバ/クライアント・コンピュータ送信データに含まれているシードから,VPNサーバ13においてVPNパスワードを生成するための所定のアルゴリズムと同じアルゴリズム(第1の所定のアルゴリズム)を用いてVPNパスワードが生成される(図7ステップ25)。
【0053】
つづいて,クライアント・コンピュータ1がVPNサーバ13のグローバルIPアドレスにアクセスしてクライアント・コンピュータ/VPNサーバ送信データが送信され,VPNサーバ13に対してVPN接続要求が行われる(図7ステップ26)。VPNサーバ13のファイア・ウォールは,クライアント・コンピュータ1のグローバルIPアドレスからのアクセスについては許可するように設定されているのは上述の通りである。
【0054】
VPNサーバ13において,タイマによる計時の開始から一定時間経過する前に(図10ステップ46でNO),クライアント・コンピュータ1からVPN接続要求があると(図10ステップ47でYES),クライアント・コンピュータ1から送信されたクライアント・コンピュータ/VPNサーバ送信データがVPNサーバ13において受信される(図11ステップ48)。クライアント・コンピュータ/VPNサーバ送信データに含まれているVPNトンネル名に対応するVPNパスワードが,VPNトンネル名に対応してVPNサーバ13においてすでに生成されているVPNパスワードと一致するかどうかが確認される(図11ステップ49)。一致すれば(図11ステップ49でYES),クライアント認証されたものとしてVPNの利用を許可するデータがVPNサーバ13からクライアント・コンピュータ1のグローバルIPアドレス宛に送信される(図11ステップ50)。クライアント・コンピュータ1のグローバルIPアドレスは,クライアント・コンピュータ1からVPNサーバ13にクライアント・コンピュータ/VPNサーバ送信データを送信するときに,付随してVPNサーバ13に送信され,VPNサーバ13が認識できるのはいうまでもない。また,タイマはリセットされる(図11ステップ51)。
【0055】
VPNサーバ13から送信されたVPNの利用を許可するデータがクライアント・コンピュータ1において受信されると(図7ステップ27),クライアント・コンピュータ1はクライアント・コンピュータ側のVPN−IPアドレスを用いて,VPNサーバ13はVPNサーバ側のVPN−IPアドレスを用いて,クライアント・コンピュータ1とVPNサーバ13とがVPNトンネル3を利用したVPN通信が行われる(図7ステップ28)。つづいて,VPN管理サーバ11においてパスワード認証の失敗などのエラーが発生したかどうかが判定される(図7ステップ29)。エラーが発生すると(図7ステップ29でYES),所定のエラー処理が行なわれる。
【0056】
VPNトンネル3を介してクライアント・コンピュータ1から,VPNサーバ13のVPNサーバ側のVPN−IPアドレス宛にデータが送信されると,そのデータが受信され,VPNサーバ13において,受信したデータの送信宛のアドレスがVPNサーバ側のVPN−IPアドレスからプライベート・サーバ15のローカル・アドレスに変更させられる。変更させられてプライベート・サーバ15のローカル・アドレス宛に,クライアント・コンピュータ1から送信され,かつVPNサーバ13において受信したデータが送信される(図11ステップ52)。
【0057】
VPNサーバ13から送信されたデータはLAN16を介してプライベート・サーバ15に送信され,プライベート・サーバ15において受信される。プライベート・サーバ15からデータの受信に応答したデータがVPNサーバ13に送信される。
【0058】
プライベート・サーバ15から送信されたデータがVPNサーバ13において受信されると,その受信したデータがVPNサーバ13によって,送信元のアドレスをVPNサーバ側のVPN−IPアドレスに変更させられ,VPNトンネル3を介してクライアント・コンピュータ1のクライアント側のVPN−IPアドレス宛に送信される(図11ステップ53)。以下,同様にしてVPNトンネル3およびVPNサーバ13を介してクライアント・コンピュータ1とプライベート・サーバ15が通信される。
【0059】
上述の実施例においては,VPNトンネル3を利用した通信をするためにクライアント・コンピュータ1においてシードから所定のアルゴリズムによりVPNパスワード生成し,VPNサーバ13においてもクライアント・コンピュータ1において利用された所定のアルゴリズムと同じアルゴリズムを用いてVPNパスワードを生成し,それらのVPNパスワードが一致したときに認証している。シードが漏洩しても所定のアルゴリズムが解析されなければVPNトンネル3を利用した通信ができないので,高いセキュリティを実現できる。
【0060】
VPNサーバ13によるタイマの計時から一定時間(例えば,数分)が経過しても(図10ステップ46でYES),クライアント・コンピュータ1からVPN接続要求がなければ(図10ステップ46でYES),タイマがリセットされ(図10ステップ54),その後にクライアント・コンピュータ1からVPN接続要求があってもアクセスを拒否するようにVPNサーバ13のファイア・ウォール機能が設定される(図10ステップ55)。タイマの計時開始から一定時間内にのみVPN接続要求を受け付けるので,VPNサーバ11に対する無差別なアカウント総当たりなどにより第三者のクライアント・コンピュータがVPNサーバ11に対してVPNトンネル3を利用してしまうことも未然に防止できる。
【0061】
上述の実施例において,クライアント・コンピュータ1とVPN管理サーバ11またはVPNサーバ13との通信障害,認証失敗などが生じた場合には,クライアント・コンピュータ1の表示装置の表示画面にその旨を知らせるメッセージを表示し,クライアント・コンピュータ1のユーザに再度の接続要求を促すようにしてもよい。クライアント・コンピュータ1を操作するユーザが存在しない場合には,一定またはランダムな時間の経過後に再度接続する処理が行われよう。
【符号の説明】
【0062】
1 クライアント・コンピュータ
2 インターネット
3 VPNトンネル
11 VPN管理サーバ
13 VPNサーバ
15 プライベート・サーバ
16 LAN
【特許請求の範囲】
【請求項1】
VPN管理サーバとクライアント・コンピュータとVPNサーバとを含むVPNシステムであって,
上記VPN管理サーバが,
上記クライアント・コンピュータがVPNトンネルを介して上記VPNサーバと通信するVPNの利用権限の確認のためのVPNパスワードを作る文字列であるシードを生成するシード生成手段,
上記シード生成手段によって生成されたシードを,インターネットを介して上記クライアント・コンピュータに送信する第1のシード送信手段,および
上記シード生成手段によって生成されたシードを,LANを介して上記VPNサーバに送信する第2のシード送信手段を備え,
上記クライアント・コンピュータが,
上記VPN管理サーバの上記第1のシード送信手段から送信されたシードを用いて,第1のアルゴリズムによってVPNパスワードを生成する第1のVPNパスワード生成手段,および
上記第1のVPNパスワード生成手段によって生成されたVPNパスワードを上記VPNサーバに送信するVPNパスワード送信手段を備え,
上記VPNサーバが,
上記VPN管理サーバの上記第2のシード送信手段から送信されたシードを用いて,上記クライアント・コンピュータが上記第1のVPNパスワード生成手段によるVPNパスワードを生成する第1の所定のアルゴリズムと同じアルゴリズムによってVPNパスワードを生成する第2のVPNパスワード生成手段,および
上記第2のVPNパスワード生成手段によって生成されたVPNパスワードと上記クライアント・コンピュータの上記VPNパスワード送信手段から送信されたVPNパスワードとが一致したことに応じて,上記クライアント・コンピュータによるVPNの利用を許可するVPN認証手段,
を備えたVPNシステム。
【請求項2】
上記クライアント・コンピュータが,
所定の符号化用コードを,上記VPN管理サーバに固有のVPN管理サーバ・キーによって第2の所定アルゴリズムで符号化することにより得られる認証コードを生成する第1の認証コード生成手段,ならびに
上記第1の認証コード生成手段によって生成された認証コードおよび上記所定の符号化用コードを上記VPN管理サーバに送信するコード送信手段をさらに備え,
上記VPN管理サーバが,
上記VPN管理サーバ・キーを記憶するVPN管理サーバ・キー記憶手段,
上記コード送信手段から送信され,かつ上記第1の認証コード生成手段における認証コードの生成に用いられた上記所定の符号化用コードを,上記VPN管理サーバ・キー記憶手段に記憶されているVPN管理サーバ・キーによって上記第1の認証コード生成手段における上記第2の所定アルゴリズムと同じアルゴリズムを用いて符号化することにより得られる認証コードを生成する第2の認証コード生成手段,および
上記第2の認証コード生成手段によって生成された認証コードと上記クライアント・コンピュータの上記認証コード送信手段から送信された認証コードとが一致したことにより,クライアント認証するクライアント認証手段をさらに備え,
上記VPN管理サーバの上記第1のシード送信手段は,
上記クライアント認証手段によりクライアント認証されたことに応じて,上記シード生成手段によって生成されたシードを,インターネットを介して,上記クライアント・コンピュータに送信するものである,
請求項1に記載のVPNシステム。
【請求項3】
上記所定の符号化コードが,
上記クライアント・コンピュータを識別するクライアント・コードおよびランダムな文字列であるソルトの少なくとも一方である,
請求項2に記載のVPNシステム。
【請求項4】
VPN管理サーバとクライアント・コンピュータとVPNサーバとを含むVPNシステムの動作制御方法において,
上記VPN管理サーバにおいて,
シード生成手段が,上記クライアント・コンピュータがVPNトンネルを介して上記VPNサーバと通信するVPNの利用権限の確認のためのVPNパスワードを作る文字列であるシードを生成し,
第1のシード送信手段が,上記シード生成手段によって生成されたシードを,インターネットを介して上記クライアント・コンピュータに送信し,
第2のシード送信手段が,上記シード生成手段によって生成されたシードを,LANを介して上記VPNサーバに送信し,
上記クライアント・コンピュータにおいて,
第1のVPNパスワード生成手段が,上記VPN管理サーバの上記第1のシード送信手段から送信されたシードを用いて,第1のアルゴリズムによってVPNパスワードを生成し,
VPNパスワード送信手段が,上記第1のVPNパスワード生成手段によって生成されたVPNパスワードを上記VPNサーバに送信し,
上記VPNサーバにおいて,
第2のVPNパスワード生成手段が,上記VPN管理サーバの上記第2のシード送信手段から送信されたシードを用いて,上記クライアント・コンピュータが上記第1のVPNパスワード生成手段によるVPNパスワードを生成する第1の所定のアルゴリズムと同じアルゴリズムによってVPNパスワードを生成し,
VPN認証手段が,上記第2のVPNパスワード生成手段によって生成されたVPNパスワードと上記クライアント・コンピュータの上記VPNパスワード送信手段から送信されたVPNパスワードとが一致したことに応じて,上記クライアント・コンピュータによるVPNの利用を許可する,
VPNシステムの動作制御方法。
【請求項1】
VPN管理サーバとクライアント・コンピュータとVPNサーバとを含むVPNシステムであって,
上記VPN管理サーバが,
上記クライアント・コンピュータがVPNトンネルを介して上記VPNサーバと通信するVPNの利用権限の確認のためのVPNパスワードを作る文字列であるシードを生成するシード生成手段,
上記シード生成手段によって生成されたシードを,インターネットを介して上記クライアント・コンピュータに送信する第1のシード送信手段,および
上記シード生成手段によって生成されたシードを,LANを介して上記VPNサーバに送信する第2のシード送信手段を備え,
上記クライアント・コンピュータが,
上記VPN管理サーバの上記第1のシード送信手段から送信されたシードを用いて,第1のアルゴリズムによってVPNパスワードを生成する第1のVPNパスワード生成手段,および
上記第1のVPNパスワード生成手段によって生成されたVPNパスワードを上記VPNサーバに送信するVPNパスワード送信手段を備え,
上記VPNサーバが,
上記VPN管理サーバの上記第2のシード送信手段から送信されたシードを用いて,上記クライアント・コンピュータが上記第1のVPNパスワード生成手段によるVPNパスワードを生成する第1の所定のアルゴリズムと同じアルゴリズムによってVPNパスワードを生成する第2のVPNパスワード生成手段,および
上記第2のVPNパスワード生成手段によって生成されたVPNパスワードと上記クライアント・コンピュータの上記VPNパスワード送信手段から送信されたVPNパスワードとが一致したことに応じて,上記クライアント・コンピュータによるVPNの利用を許可するVPN認証手段,
を備えたVPNシステム。
【請求項2】
上記クライアント・コンピュータが,
所定の符号化用コードを,上記VPN管理サーバに固有のVPN管理サーバ・キーによって第2の所定アルゴリズムで符号化することにより得られる認証コードを生成する第1の認証コード生成手段,ならびに
上記第1の認証コード生成手段によって生成された認証コードおよび上記所定の符号化用コードを上記VPN管理サーバに送信するコード送信手段をさらに備え,
上記VPN管理サーバが,
上記VPN管理サーバ・キーを記憶するVPN管理サーバ・キー記憶手段,
上記コード送信手段から送信され,かつ上記第1の認証コード生成手段における認証コードの生成に用いられた上記所定の符号化用コードを,上記VPN管理サーバ・キー記憶手段に記憶されているVPN管理サーバ・キーによって上記第1の認証コード生成手段における上記第2の所定アルゴリズムと同じアルゴリズムを用いて符号化することにより得られる認証コードを生成する第2の認証コード生成手段,および
上記第2の認証コード生成手段によって生成された認証コードと上記クライアント・コンピュータの上記認証コード送信手段から送信された認証コードとが一致したことにより,クライアント認証するクライアント認証手段をさらに備え,
上記VPN管理サーバの上記第1のシード送信手段は,
上記クライアント認証手段によりクライアント認証されたことに応じて,上記シード生成手段によって生成されたシードを,インターネットを介して,上記クライアント・コンピュータに送信するものである,
請求項1に記載のVPNシステム。
【請求項3】
上記所定の符号化コードが,
上記クライアント・コンピュータを識別するクライアント・コードおよびランダムな文字列であるソルトの少なくとも一方である,
請求項2に記載のVPNシステム。
【請求項4】
VPN管理サーバとクライアント・コンピュータとVPNサーバとを含むVPNシステムの動作制御方法において,
上記VPN管理サーバにおいて,
シード生成手段が,上記クライアント・コンピュータがVPNトンネルを介して上記VPNサーバと通信するVPNの利用権限の確認のためのVPNパスワードを作る文字列であるシードを生成し,
第1のシード送信手段が,上記シード生成手段によって生成されたシードを,インターネットを介して上記クライアント・コンピュータに送信し,
第2のシード送信手段が,上記シード生成手段によって生成されたシードを,LANを介して上記VPNサーバに送信し,
上記クライアント・コンピュータにおいて,
第1のVPNパスワード生成手段が,上記VPN管理サーバの上記第1のシード送信手段から送信されたシードを用いて,第1のアルゴリズムによってVPNパスワードを生成し,
VPNパスワード送信手段が,上記第1のVPNパスワード生成手段によって生成されたVPNパスワードを上記VPNサーバに送信し,
上記VPNサーバにおいて,
第2のVPNパスワード生成手段が,上記VPN管理サーバの上記第2のシード送信手段から送信されたシードを用いて,上記クライアント・コンピュータが上記第1のVPNパスワード生成手段によるVPNパスワードを生成する第1の所定のアルゴリズムと同じアルゴリズムによってVPNパスワードを生成し,
VPN認証手段が,上記第2のVPNパスワード生成手段によって生成されたVPNパスワードと上記クライアント・コンピュータの上記VPNパスワード送信手段から送信されたVPNパスワードとが一致したことに応じて,上記クライアント・コンピュータによるVPNの利用を許可する,
VPNシステムの動作制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−77769(P2011−77769A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−226334(P2009−226334)
【出願日】平成21年9月30日(2009.9.30)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願日】平成21年9月30日(2009.9.30)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】
[ Back to top ]