(57)【要約】【課題】  仮想プライベートネットワーク（ＶＰＮ）にアクセスする効率のよい方法を提供すること。【解決手段】  ファイアウォールは、認証証明書を提供させるために要請のないユーザ確認をクライアントにすることにより、プライベートネットワーク内のサーバへの１つの透過ゲートウェイとして動作する。ファイアウォールは、クライアントの証明書を受信後、その認証証明書を検証し、サーバにアクセスするためのセキュアなチャンネルを確立する。ファイアウォールは、クライアントに対し、署名することなどにより一定の認証を提供することもできる。サーバに接続している間クライアントは、別のサーバに関連付けたデータがそのプライベートネットワークを通過することなく、そのプライベートネットワーク外にある別のサーバへアクセスすることができる。このファイアウォールは、通常プライベートネットワークサーバにアクセスするために保持しなければならない構成情報を減らす。【選択図】  図２
2005027312.tif 000002
【特許請求の範囲】
【請求項１】
リソースと、ファイアウォールとを備えたプライベートネットワークであって、プライベートネットワークリソースに対するクライアントの要望するアクセスを制御することによって１つのゲートウェイとして動作するプライベートネットワークにおいて、サービス妨害攻撃に対して相互に防護するためにクライアントと前記ファイアウォールとの間での認証処理要件平衡をとる間に、前記プライベートネットワークリソースに対する接続を確立する方法であって、
前記ファイアウォールによって、前記プライベートネットワークリソースにアクセスするための前記クライアントからの要求を受信する工程であって、前記クライアントからの前記要求は前記ファイアウォールの知識を有することなく前記プライベートネットワークリソースに対してなされる工程と、
前記ファイアウォールによって、前記クライアントに対し、前記クライアントを認証するための１つまたは複数のクライアント証明書を提供するように要求する工程と、
前記ファイアウォールによって、前記ファイアウォールを認証するための１つまたは複数のファイアウォール証明書を送信する工程であって、前記１つまたは複数のファイアウォール証明書を作成することにより消費されるのは、一定の限られたファイアウォール処理リソースである送信する工程と、
前記ファイアウォールにおいて１つまたは複数のクライアント証明書を受信する工程であって、前記１つまたは複数のクライアント証明書を作成することにより消費されるのは、前記限られたファイアウォール処理リソースに関する前記消費と同等、一定の限られたクライアント処理リソースである工程と、
前記ファイアウォールによって、前記１つまたは複数のクライアント証明書を検証する工程と、
前記１つまたは複数のクライアント証明書の前記検証に応答して前記プライベートネットワークリソースにアクセスするためのセキュアなチャンネルを確立させる工程と、
前記クライアントから前記プライベートネットワークリソースに宛てられたデータを前記セキュアなチャンネルを用いて前記ファイアウォールを介し転送する工程と
を備えたことを特徴とする方法。
【請求項２】
前記検証の工程は、
予め定められた承認しきい値に到達するまで前記クライアントと前記ファイアウォールの間の承認レベルを増分式に増加させるように、前記クライアントと前記ファイアウォールの間での証明書のやり取りを継続する工程
を備えたことを特徴とする請求項１に記述の方法。
【請求項３】
前記プライベートネットワークリソースは、ホスト、ゲートウェイまたはサーバのうちの１つであることを特徴とする請求項１に記載の方法。
【請求項４】
前記ファイアウォールを通過した前記クライアントからの前記データのみが前記プライベートネットワークリソースに宛てられるデータの当該パケットとなることを特徴とする請求項１に記載の方法。
【請求項５】
前記プライベートネットワークの前記セキュアなチャンネルを維持し、別個のプライベートネットワークのリソースとの接続を確立させる工程
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項６】
前記プライベートネットワークの前記セキュアなチャンネルを維持し、その他のプライベートネットワークリソースとの接続を確立させる工程
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項７】
前記クライアントから前記プライベートネットワークリソースまで前記データを転送する前記工程は、前記認証を受けたチャンネルを用いて達成されており、
前記ファイアウォールによって、前記クライアントから前記プライベートネットワークリソースに宛てられたデータの前記パケットに署名する工程であって、前記署名によって前記クライアントが前記ファイアウォール内に実装された１つまたは複数のセキュリティチェックに合格したことを示す署名する工程
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項８】
前記保護されたプライベートネットワークリソースが受け取ったデータの無署名のパケットを廃棄する工程
をさらに備えたことを特徴とする請求項７に記載の方法。
【請求項９】
受け取った前記１つまたは複数のクライアント証明書は、ユーザ名、クライアントのＩＰアドレス、パスワード、パスポート、スマートカードまたはクレジットカード番号のうちの少なくとも１つから選択されることを特徴とする請求項１に記載の方法。
【請求項１０】
前記ファイアウォールによって前記クライアントに対して１つまたは複数のクライアント証明書を提供させる前記要求は、１つの質問であり、および受け取った前記１つまたは複数のクライアント証明書は、前記質問に対する１つの答えであることを特徴とする請求項１に記載の方法。
【請求項１１】
前記クライアントは、第２のファイアウォールであることを特徴とする請求項１に記載の方法。
【請求項１２】
リソースと、プライベートネットワークリソースに対するクライアントの要望するアクセスを制御することによって１つのゲートウェイとして動作するファイアウォールと、を備えているプライベートネットワークにおいて、サービス妨害攻撃に対して相互に防護するためにクライアントと前記ファイアウォールの間での認証処理要件を平衡をとる間に、前記プライベートネットワークリソースに対する接続を確立させる方法であって、
前記プライベートネットワークリソースへのアクセスを要求する前記クライアントと、前記プライベートネットワークに関する１つのゲートウェイとして動作する前記ファイアウォールとに対して同等の処理負担を課するように設計した一連の認証トランザクションを起動するステップであって、前記クライアントは当初前記ファイアウォールが前記プライベートネットワークに関する１つのゲートウェイとして動作することを認識しておらず、および各認証トランザクションは前記クライアントと前記ファイアウォールとの前記認証が十分に検証されるまで前記クライアントと前記ファイアウォールとの間の承認レベルを増分式に増加させて、
前記一連の認証トランザクションの各々に関して、
前記一連の認証トランザクションのうちの１つに従って前記クライアントに認証を与えるステップおよび、
同様の処理負担を要求する方式で認証するように前記クライアントにユーザ確認をするステップを含む起動するステップと、
前記一連の認証トランザクションが完了した時点で、前記ファイアウォールを介した前記クライアントの前記プライベートネットワークリソースへのアクセスを許可するステップと
を備えたことを特徴とする方法。
【請求項１３】
前記認証するように前記クライアントにユーザ確認をするステップは、
前記ファイアウォールによって、前記クライアントに対し１つまたは複数のクライアント証明書を提供するように要求する工程と、
前記ファイアウォールにおいて、１つまたは複数のクライアント証明書を受信する工程と、
前記ファイアウォールによって、前記１つまたは複数のクライアント証明書を検証する工程と
を備えたことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記認証を受けた１つまたは複数の証明書は、ユーザ名、クライアントのＩＰアドレス、パスワード、パスポート、スマートカードまたはクレジットカード番号のうちの少なくとも１つであることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ファイアウォールによって前記クライアントに対して１つまたは複数のクライアント証明書を提供させる要求は、１つの質問であり、かつ受け取った前記１つまたは複数のクライアント証明書は前記質問に対する１つの答えであることを特徴とする請求項１３に記載の方法。
【請求項１６】
前記クライアントが前記プライベートネットワークリソースへのアクセスを許可された後は、前記ファイアウォールを通過した前記クライアントからの前記データのみが前記プライベートネットワークリソースに宛てられるデータのパケットとなることを特徴とする請求項１２に記載の方法。
【請求項１７】
前記許可するステップは、
前記ファイアウォールと前記プライベートネットワークリソースの間に１つの認証済みのチャンネルを確立する工程であって、前記認証済みのチャンネルは前記ファイアウォールからの前記データに対する署名を行うことによって確立を行う確立する工程
を備えたことを特徴とする請求項１２に記載の方法。
【請求項１８】
前記プライベートネットワークリソースが受信したデータのあらゆる無署名のパケットを廃棄する工程
をさらに備えたことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記プライベートネットワークリソースは、ホスト、ゲートウェイまたはサーバのうちの１つであることを特徴とする請求項１２に記載の方法。
【請求項２０】
前記クライアントは、第２のファイアウォールであることを特徴とする請求項１２に記載の方法。
【請求項２１】
前記ファイアウォールと前記クライアントとの間の保護されたチャンネルを維持し、別個のプライベートネットワークのその他のリソースとの接続を確立する工程
をさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項２２】
前記ファイアウォールと前記クライアントの間の保護されたチャンネルを維持するのと同時に、その他のプライベートネットワークリソースとの接続を確立する工程
をさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項２３】
リソースと、プライベートネットワークリソースに対するクライアントの要望するアクセスを制御することによって１つのゲートウェイとして動作するファイアウォールと、を備えるプライベートネットワークにおいて、サービス妨害攻撃に対して相互に防護するためにクライアントと前記ファイアウォールの間での認証処理要件を平衡をとる間に、前記プライベートネットワークリソースに対する接続を確立させる方法を実施するコンピュータ実行可能な命令を保持しているコンピュータ読み取り可能な媒体であって、
前記ファイアウォールによって、前記プライベートネットワークリソースにアクセスするための前記クライアントからの要求を受信する工程であって、前記クライアントからの前記要求は前記ファイアウォールの知識を有することなく前記プライベートネットワークリソースに対してなされる受信する工程と、
前記ファイアウォールによって、前記クライアントに対し、前記クライアントを認証するための１つまたは複数のクライアント証明書を提供するよう要求する工程と、
前記ファイアウォールによって、前記ファイアウォールを認証させるための１つまたは複数のファイアウォール証明書を送信する工程であって、前記１つまたは複数のファイアウォール証明書を作成することにより消費されるのは、一定の限られたファイアウォール処理リソースである送信する工程と、
前記ファイアウォールにおいて１つまたは複数のクライアント証明書を受信する工程であって、前記１つまたは複数のクライアント証明書を作成することが、前記限られたファイアウォール処理リソースに関する消費と同等の、一定の限られたクライアント処理リソースを消費する受信する工程と、
前記ファイアウォールによって、前記１つまたは複数のクライアント証明書を検証する工程と、
前記１つまたは複数のクライアント証明書の前記検証に応答して、前記プライベートネットワークリソースにアクセスするためのセキュアなチャンネルを確立させる工程と、および
前記クライアントから前記プライベートネットワークリソースに宛てられたデータを前記セキュアなチャンネルを用いて前記ファイアウォールを介し転送する工程と
を備えたことを特徴とする媒体。
【請求項２４】
前記検証の工程は、
予め定められた承認しきい値に到達するまで前記クライアントと前記ファイアウォールの間の承認レベルを増分式に増加させるように、前記クライアントと前記ファイアウォールの間での証明書のやり取りを継続する工程
を備えたことを特徴とする請求項２３に記載の媒体。
【請求項２５】
前記プライベートネットワークリソースは、ホスト、ゲートウェイまたはサーバのうちの１つであることを特徴とする請求項２３に記載の媒体。
【請求項２６】
前記ファイアウォールを通過した前記クライアントからの前記データのみは、前記プライベートネットワークリソースに宛てられるデータのパケットとなることを特徴とする請求項２３に記載の媒体。
【請求項２７】
前記プライベートネットワークの前記セキュアなチャンネルを維持し、別個のプライベートネットワークのリソースとの接続を確立させる工程
をさらに備えたことを特徴とする請求項２３に記載の媒体。
【請求項２８】
前記プライベートネットワークの前記セキュアなチャンネルを維持し、その他のプライベートネットワークリソースとの接続を確立させる工程
をさらに備えたことを特徴とする請求項２３に記載の媒体。
【請求項２９】
前記クライアントから前記プライベートネットワークリソースまで前記データを転送する前記工程は、前記認証を受けたチャンネルを用いて介して達成されており、
前記ファイアウォールによって、前記クライアントから前記プライベートネットワークリソースに宛てられたデータの前記パケットに署名する工程であって、前記署名によって前記クライアントが前記ファイアウォール内に実装された１つまたは複数のセキュリティチェックに合格したことを示す署名する工程
をさらに備えたことを特徴とする請求項２３に記載の媒体。
【請求項３０】
前記保護されたプライベートネットワークリソースが受け取ったデータの無署名のパケットを廃棄する工程
をさらに備えたことを特徴とする請求項２９に記載の媒体。
【請求項３１】
受け取った前記１つまたは複数のクライアント証明書は、ユーザ名、クライアントのＩＰアドレス、パスワード、パスポート、スマートカードまたはクレジットカード番号のうちの少なくとも１つから選択されることを特徴とする請求項２３に記載の媒体。
【請求項３２】
前記ファイアウォールによって前記クライアントに対して１つまたは複数のクライアント証明書を提供させる前記要求は、１つの質問であり、および受け取った前記１つまたは複数のクライアント証明書は、前記質問に対する１つの答えであることを特徴とする請求項２３に記載の媒体。
【請求項３３】
前記クライアントは、第２のファイアウォールであることを特徴とする請求項２３に記載の媒体。
【請求項３４】
リソースと、プライベートネットワークリソースに対するクライアントの要望するアクセスを制御することによって１つのゲートウェイとして動作するファイアウォールと、を備えているプライベートネットワークにおいて、サービス妨害攻撃に対して相互に防護するためにクライアントと前記ファイアウォールの間での認証処理要件を平衡をとる間に、前記プライベートネットワークリソースに対する接続を確立させる方法を実施させるコンピュータ実行可能な命令を保持しているコンピュータ読み取り可能な媒体であって、
前記プライベートネットワークリソースへのアクセスを要求する前記クライアントと、前記プライベートネットワークに関する１つのゲートウェイとして動作する前記ファイアウォールと、に対して同等の処理負担を課するように設計された一連の認証トランザクションを起動するステップであって、前記クライアントは当初前記ファイアウォールが前記プライベートネットワークに関する１つのゲートウェイとして動作することを認識しておらず、および各認証トランザクションは前記クライアントと前記ファイアウォールとの前記認証が十分に検証されるまで前記クライアントと前記ファイアウォールとの間の承認レベルを増分式に増加させるステップと、
前記一連の認証トランザクションの各々に関して、
前記一連の認証トランザクションのうちの１つに従って前記クライアントに認証を与えるステップ、および
同様の処理負担を要求する方式で認証させるように前記クライアントにユーザ確認するステップを含む起動するステップと、
前記一連の認証トランザクションが完了した時点で、前記ファイアウォールを介した前記クライアントの前記プライベートネットワークリソースへのアクセスを許可するステップと
を備えたことを特徴とする媒体。
【請求項３５】
前記認証するように前記クライアントにユーザ確認するステップは、
前記ファイアウォールによって、前記クライアントに対し１つまたは複数のクライアント証明書を提供するように要求する工程と、
前記ファイアウォールにおいて、１つまたは複数のクライアント証明書を受信する工程と、
前記ファイアウォールによって、前記１つまたは複数のクライアント証明書を検証する工程と
を備えたことを特徴とする請求項３４に記載の媒体。
【請求項３６】
前記認証を受けた１つまたは複数の証明書は、ユーザ名、クライアントのＩＰアドレス、パスワード、パスポート、スマートカードまたはクレジットカード番号のうちの少なくとも１つであることを特徴とする請求項３５に記載の媒体。
【請求項３７】
前記ファイアウォールによって前記クライアントに対して１つまたは複数のクライアント証明書を提供させる要求は、１つの質問であり、かつ受け取った前記１つまたは複数のクライアント証明書は前記質問に対する１つの答えであることを特徴とする請求項３５に記載の媒体。
【請求項３８】
前記クライアントが前記プライベートネットワークリソースへのアクセスを許可された後は、前記ファイアウォールを通過した前記クライアントからの前記データのみが前記プライベートネットワークリソースに宛てられるデータのパケットとなることを特徴とする請求項３５に記載の媒体。
【請求項３９】
前記許可するステップは、
前記ファイアウォールと前記プライベートネットワークリソースとの間に１つの認証済みのチャンネルを確立する工程であって、前記認証済みのチャンネルは前記ファイアウォールからの前記データに対する署名を行うことによって確立を行う確立する工程
を備えたことを特徴とする請求項３４に記載の媒体。
【請求項４０】
前記保護されたプライベートネットワークリソースが受信したデータのあらゆる無署名のパケットを廃棄する工程
をさらに備えたことを特徴とする請求項３９に記載の媒体。
【請求項４１】
前記プライベートネットワークリソースは、ホスト、ゲートウェイまたはサーバのうちの１つであることを特徴とする請求項３４に記載の媒体。
【請求項４２】
前記クライアントは、第２のファイアウォールであることを特徴とする請求項３４に記載の媒体。
【請求項４３】
前記ファイアウォールと前記クライアントとの間の保護されたチャンネルを維持し、別個のプライベートネットワークのその他のリソースとの接続を確立する工程
をさらに備えたことを特徴とする請求項３４に記載の媒体。
【請求項４４】
前記ファイアウォールと前記クライアントの間の保護されたチャンネルを維持すると同時に、別のプライベートネットワークリソースとの接続を確立する工程
をさらに備えたことを特徴とする請求項３４に記載の媒体。
【請求項４５】
サーバと、前記サーバへのアクセスを制御することによって１つのゲートウェイとして動作するファイアウォールとを備えたプライベートネットワークにおいて、クライアントが前記ファイアウォールを認識することなく前記ファイアウォールを介して前記サーバへのアクセスを提供する方法であって、
前記クライアントは前記ファイアウォールが前記サーバに関する１つのゲートウェイとして動作することを認識していないため、前記ファイアウォールにおいて、前記サーバに向けられた前記クライアントからのアクセス要求を受信する工程と、
前記ファイアウォールにおいて前記サーバと前記ファイアウォールとの間の承認レベルを示す１つまたは複数の認証証明書を作成する工程と、
前記ファイアウォールが前記ファイアウォールに認証を与えるように要求を前記クライアントに送信する工程であって、前記要求は、前記クライアントが別個の要求を発することを必要とせずに前記サーバと前記ファイアウォールの間の前記承認レベルに関して認識するように前記１つまたは複数のファイアウォール認証証明書を含む工程と、
前記ファイアウォールにおいて、前記クライアントから１つまたは複数の認証証明書を受信する工程と、
前記ファイアウォールが、前記１つまたは複数のクライアント認証証明書を検証する工程と、
前記検証後に、前記クライアントに対して前記ファイアウォールを介して前記サーバにアクセスすることを許可する工程と
を備えたことを特徴とする方法。
【請求項４６】
前記ファイアウォールと前記サーバとの間にセキュアな接続を確立させる工程と、
前記クライアントから受け取ったデータを前記セキュアな接続を介して前記サーバに転送する工程と
をさらに備えたことを特徴とする請求項４５に記載の方法。
【請求項４７】
前記ファイアウォールにおいて、前記クライアントからのデータを受信する工程と、
前記ファイアウォールが前記受け取ったデータに署名する工程と、
前記ファイアウォールが前記署名済みのデータを前記サーバに転送する工程と
をさらに備えたことを特徴とする請求項４５に記載の方法。
【請求項４８】
前記サーバは、ホストまたはゲートウェイを備えたことを特徴とする請求項４５に記載の方法。
【請求項４９】
前記クライアントは、別のファイアウォールを備えたことを特徴とする請求項４５に記載の方法。
【請求項５０】
前記クライアントは、別のサーバとの別個の接続を維持し、および前記ファイアウォールを通過するのは、前記プライベートネットワークに向けられたデータのみであることを特徴とする請求項４５に記載の方法。
【請求項５１】
前記別のサーバは、全く異なる別個の、仮想プライベートネットワークの一部であることを特徴とする請求項５０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、仮想プライベートネットワーク（ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ：ＶＰＮ）に関し、より詳細にはＶＰＮにアクセスする効率のよい方法に関する。
【背景技術】
【０００２】
ＶＰＮはワイドエリアネットワーク（ＷＡＮ）に代わる、魅力的でコスト効率のよい手段の１つである。ＶＰＮにより、基本的には、リモートサイトまたはクライアントに対して公衆ネットワーク（通常は、インターネット）を介したプライベートネットワークへの接続が可能となる。いったん接続されると、このリモートサイトまたはクライアントは、プライベートネットワーク、したがって指定の仮想プライベートネットワークの１つのローカル部分であるかのように見える。うまく設計されたＶＰＮは、会社に対して大きな利益を与えることができる。例えば、ＶＰＮによって、接続の地理的拡大、セキュリティの向上、従来のＷＡＮに対する動作コストの軽減、リモートクライアントについての通過時間や搬送コストの軽減、生産性の向上、ネットワークトポロジの簡略化、およびグローバルなネットワーキング機会の提供が可能である。
【０００３】
ＶＰＮシステムには、リモート−アクセスとサイト対サイトという２つの一般的な種類のＶＰＮシステムがある。仮想プライベートダイアルアップネットワーク（ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｄｉａｌ−ｕｐ  ｎｅｔｗｏｒｋ：ＶＰＤＮ）とも呼ばれるリモート−アクセスは、さまざまなリモートロケーションからプライベートネットワークに接続する必要がある従業員を有する会社によって使用される、クライアント対ＬＡＮ（ローカルエリアネットワーク）接続である。リモート−アクセスＶＰＮは、多くの場合に第三者のサービスプロバイダを介して、ある会社のプライベートネットワークとあるリモートクライアントとの間でのセキュアな暗号化された接続を可能にする。サイト対サイトのＶＰＮにおいて、インターネットなどの公衆ネットワークを介して複数のサイトを接続するために、専用の装置および大規模な暗号化が利用されている。サイト対サイトＶＰＮは、イントラネットベースとすることも、エクストラネットベースとすることも可能である。そのＶＰＮの種類に関わらず、うまく設計されたＶＰＮはセキュリティ、信頼度、スケーラビリティ、ネットワーク管理およびポリシー管理を一体化して扱う。
【０００４】
ＶＰＮにおいて、接続およびデータをセキュアに維持するために幾つかの方法が利用されている。これには、典型的には、幾つかの種類の暗号化またはファイアウォール、ならびにこれらの両者が必要となる。暗号化とは、あるコンピュータが別のコンピュータに送信しているデータを取り込み、さらにこれをもう一方のコンピュータだけが復号できるような形に変換する処理である。典型的なコンピュータ暗号化システムは、対称キー暗号法（ｓｙｍｍｅｔｒｉｃ  ｋｅｙ  ｅｎｃｒｙｐｔｉｏｎ）と公開キー暗号法（ｐｕｂｌｉｃ  ｋｅｙ  ｅｎｃｒｙｐｔｉｏｎ）という２つの分類のうちの一方に属する。対称キー暗号法では、各コンピュータは、ネットワークを介して別のコンピュータに送信する前にコンピュータによって情報のパケットを暗号化するために使用する秘密コード（ｓｅｃｒｅｔ  ｃｏｄｅ）を有している。暗号化された情報パケットを受信するコンピュータは、メッセージを復号するためにその秘密コードを知っていなければならない。
【０００５】
公開キー暗号法では、秘密キー（ｐｒｉｖａｔｅ  ｋｅｙ）と公開キー（ｐｕｂｌｉｃ  ｋｅｙ）を組み合わせて使用している。秘密キーは秘匿の状態に保持されており、一方公開キーには一般に、希望するものは誰でもアクセス可能である。秘密キーおよび公開キーは、その一方によってもう一方が暗号化したデータを解読するという点で関連している。したがって、公開キーによって解読できるデータは、対応する秘密キーの保有者がそのデータを暗号化したことを示しており、また、したがって公開キーによって解読できるデータによって、この対応する秘密キーの保有者をこの暗号化されたデータの発信源として特定することができる。同様に、公開キーを用いてデータを暗号化することによって、送信者には、秘密キーの保有者だけがそのデータを解読できるということが保証される。
【０００６】
公開キー暗号法の一般的な利用法の１つでは、セキュアソケットレイヤ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ：ＳＳＬ）が不可欠である。ＳＳＬは、機密情報を送信するためにインターネットブラウザおよびＷｅｂサーバによって使用される１つのインターネットセキュリティプロトコルである。ＳＳＬは、セキュリティハンドシェイクを使用してＴＣＰ／ＩＰ接続を介したセキュアなセッションを起動している。ハンドシェイクの間に、対称暗号化／解読キーを判定するための情報は、公開キー暗号法を用いてやり取りされている。このハンドシェイクによって、クライアントとサーバとの間で使用しようとするセキュリティレベルに関する合意が得られる。ハンドシェイクの後に、ＳＳＬは、例えばＨＴＴＰ、ｎｎｔｐ、ｔｅｌｎｅｔ、などの使用しているアプリケーションプロトコルのバイトストリームを暗号化および解読する。このことは、ＵＲＬ、クライアント要求、すべての発信フォームのコンテンツ（例えば、クレジットカード番号）、任意のＨＴＴＰアクセス認証情報（例えば、クライアント名およびパスワード）、およびサーバからクライアントに送られたすべてのデータを含め、情報のすべてがＨＴＴＰの要求および応答の両方において完全に暗号化されていることを意味している。ＳＳＬおよびトランスポートレイヤセキュリティ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ：ＴＬＳ）などの別のプロトコルは、より上位のネットワークプロトコルレイヤで動作する。
【０００７】
ＶＰＮセキュリティの別の形態は、インターネットプロトコルセキュリティ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｉｔｙ：ＩＰＳｅｃ）として知られている。ＩＰＳｅｃは、インターネットキー交換（Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ：ＩＫＥ）などのキーネゴシエーションテクノロジと組み合わせると、ＴＣＰではないトラフィックをセキュリティ保護するためのより包括的な認証能力などセキュリティ機能の増強を提供することができる。したがって、ＩＰＳｅｃに準拠したシステムだけがこのプロトコルを利用することができる。ＳＳＬやＴＬＳと異なり、ＩＰＳｅｃはより下位のネットワークプロトコルレイヤで動作するのである。
【０００８】
もちろん、ＶＰＮはすべて種類のネットワークアクセスに適しているわけではない。例えば、インターネット電子メールを転送する公開のＷｅｂサイトへのアクセスやその他の種類のアクセスは、プライベートネットワークの外側で認証なしに発信することを求められる。したがって、通常の動作において、ある種の非認証の外部アクセスをサポートする必要がある。しかし、プライベートネットワークへの外部アクセスを許可すると、多種多様なセキュリティリスクが持ち込まれることになる。
【０００９】
ファイアウォールは、プライベートネットワークと、一般に様々な承認ドメイン（ｔｒｕｓｔ  ｄｏｍａｉｎ）の範囲にあるようなインターネットなどの別のネットワークとの間に強力な障害を提供している。外部アクセスによって持ち込まれるセキュリティリスクに対処するために、ファイアウォールによって、開放ポートの数、通過させるどの種類のパケットの移動、および許可するプロトコルを制限することができる。
【００１０】
ファイアウォールは、外部のネットワーク接続を介してプライベートネットワークまたはコンピュータシステム内に受信する情報をフィルタリングするようなソフトウェアおよび／またはハードウェアの組合せとすることができる。これらのフィルタによって受信する情報パケットにフラグが立てられると、この情報の通過は許可されない。典型的なファイアウォールでは、静的パケットフィルタリング、プロキシサービス、および／または動的パケットフィルタリングを含む、ネットワーク内へのトラフィックの流入およびネットワークからのトラフィックの流出を制御するための３つの技法のうちの１つまたは複数を使用している。静的パケットフィルタリングは、その名称が示すように、一組のフィルタに突き合わせてデータのまとまりを解析する。フィルタを通過したパケットは適正にルート設定され、一方これ以外はすべて廃棄される。プロキシサービスを使用する場合、ファイアウォールがネットワークからの情報を取り出し、次いで要求を出したシステムにこれを送信する。また、この逆も行われる。しかし、各パケットの内容を検査しないような新たな技法ではこれに代わって、そのパケットのうちの所定のキー部分と、承認された情報からなるデータベースとを比較しており、これは動的パケットフィルタリングとして知られている。ファイアウォールの内部から外部に移送される情報は、特定の規定特性について監視を受ける。次いで、受信される情報をこれらの特性と比較する。この比較によって妥当なマッチングが得られた場合には、その情報は通過が許可される。そうでなければ、その情報は廃棄される。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ＶＰＮは、ＷＡＮに対する魅力的な代替手段の１つではあるが、現在のところリモートアクセスにＶＰＮサーバを使用する場合さまざまな問題が存在している。例えば、クライアントがＶＰＮを介しＷｅｂとプライベートネットワークの両方に接続することを希望する場合、すべてのネットワークトラフィックがＶＰＮを通過しなければならない。しかし、これによって、効率やプライバシー適合性の問題が生じる。効率の問題は、その接続が先ずプライベートネットワークを通過してから、続いて外部のＷｅｂに戻らなければならないために生じる。したがって、プライベートネットワークを通過するような不必要なトラフィックのルートが設定される。さらに、プライバシー問題も、こうしたＷｅｂサーフィンがネットワークポリシーに違反するために生じる。しかし、インターネット接続がこうしたアプリケーションが効率およびプライバシーを備えるようにサポートしていたとしても、この接続は使用されることはない。なぜなら、その結果、ＶＰＮが接続されたネットワークのファイアウォールを通過させてすべてのデータを転送することとなって、接続上の問題も生じることになるためである。
【００１２】
現状のＶＰＮを利用する場合さらに、結果的に複数のゲートウェイとなることが多く、その各々はばらばらのネットワーク向けである。複数のＶＰＮゲートウェイではセキュリティを損なうことがあり、および接続上の問題を生じることもあるのである。例えば、ＶＰＮクライアントは、見かけ上はＶＰＮとローカルで接続されるようになるため、このクライアントは複数のＶＰＮ接続に同時に関与することができない。したがって、あるクライアントがあるネットワークから別個のネットワークに情報をダウンロードしたいと希望する場合、このクライアントは先ず、第１のＶＰＮサーバと接続を確立し、クライアントの記憶装置に情報をダウンロードし、第１のＶＰＮサーバを切断し、第２のＶＰＮネットワークとＶＰＮ接続をとり、次いでクライアントの記憶装置から第２のネットワークサーバに情報をダウンロードしなければならない。このため時間とメモリの両方の管理においてきわめて非効率性な結果となる。
【００１３】
現状のＶＰＮシステムの別の欠点は、プライベートネットワーク内のさまざまなＶＰＮゲートウェイを追跡することが複雑であるという点である。クライアントは、各ＶＰＮゲートウェイに関して、ＩＰアドレス、認証情報などのある種の構成情報を認識することが必要である。さらに、クライアントは、プライベートネットワーク内のある特定のサーバにアクセスするためにはどのＶＰＮゲートウェイを使用すべきかに関して、認識していないことがあり、あるいは直感的に分からないことがある。ＬＡＮ構成が変化すると、クライアントはＶＰＮアクセスの継続を容易にするために、新たな設定で速やかに更新することが必要となる。
【００１４】
したがって、ネットワークを介して、クライアントが要求したまたはクライアントから送られたすべての情報を要求する必要なく、クライアントがネットワークにアクセスできるようにした透過ＶＰＮが必要とされている。さらに、複数のネットワークに対して同時にアクセスが可能であり、およびセキュリティニーズを損なうことなくプライベートネットワークへのアクセスの簡略化が可能であることも必要とされている。
【課題を解決するための手段】
【００１５】
本発明の実施形態例によれば、上記で特定した現在のＶＰＮに関する不備および欠点が克服される。例えば、例示的な実施形態は、リソースおよびファイアウォールを含んだプライベートネットワークを備える。このファイアウォールは、プライベートネットワークリソースへのアクセスを望むクライアントを制御することによって、１つのゲートウェイとして動作する。本発明は、サービス妨害攻撃（ｄｅｎｉａｌ  ｏｆ  ｓｅｒｖｉｃｅ  ａｔｔａｃｋ）に対して相互に防護するため、クライアントとファイアウォールの間での認証処理要件を平衡をとる間に、プライベートネットワークリソースに対する接続を確立させるためのコンピュータプログラム製品および方法を備える。
【００１６】
このコンピュータプログラム製品および方法は、ファイアウォールによって、プライベートネットワークリソースにアクセスするためのクライアントからの要求を受信することを備える。このクライアントからの要求は、ファイアウォールに関する何らの認識なしにプライベートネットワークリソースに対して出される。次いで、ファイアウォールは、クライアントに対してクライアントを認証するためのクライアント証明書を提供するように要求することがある。さらに、ファイアウォールは、クライアントに対して自身を認証するために自らの証明書を送信することがある。ファイアウォールはさらに、クライアント証明書を受信することもある。
【００１７】
ファイアウォール証明書およびクライアント証明書を作成することは、ファイアウォールおよびクライアントの処理リソースを同等に消費する。次いで、ファイアウォールは、クライアント証明書を検証し、およびこの検証に応えてプライベートネットワークリソースにアクセスするためのセキュアなチャンネルを確立させる。したがって、クライアントからのデータは次いで、このセキュアなチャンネルを用いるファイアウォールを介してプライベートネットワークリソースに転送される。
【００１８】
本発明のその他の実施形態例によれば、プライベートネットワークリソースへの接続を確立させているコンピュータプログラム製品および方法は、プライベートネットワークリソースへのアクセスを要求するクライアント、およびプライベートネットワークに対する１つのゲートウェイとして動作するファイアウォールに対して相応の処理負担を課すように設計した一連の認証トランザクションを起動することによって提供される。クライアントは当初、ファイアウォールがプライベートネットワークに対する１つのゲートウェイとして動作することを認識していない。さらに、各認証トランザクションは、クライアントおよびファイアウォールの認証が十分に検証されるまで、クライアントとファイアウォールの間の承認レベルを増分式に増加させている。
【００１９】
この一連の認証トランザクションには、この一連のトランザクションのうちの１つに従ってクライアントを認証するための方法、および同様の処理負担を要求する方法で認証するようにクライアントに試みることを含むことができる。この一連の認証トランザクションが完了すると、そのクライアントは、ファイアウォールを介したプライベートネットワークリソースへのアクセスが許可される。
【００２０】
本発明のさらに別の実施形態例によれば、ファイアウォールについて認識しているクライアントを伴わずにファイアウォールを介してサーバへのアクセスを提供する方法は、ファイアウォールがそのサーバに向けられたクライアントからのアクセス要求を受信することによって提供される。このアクセス要求は、サーバに向けられたものである。なぜなら、そのクライアントがファイアウォールをサーバに対する１つのゲートウェイとして動作していることを認識していないからである。ファイアウォールは、このサーバとファイアウォールの間の承認レベルを証明する１つまたは複数の認証証明書を作成し、クライアントがファイアウォールを認証するために要求を送る。この要求には、別の要求を出すことを必要とせずに、クライアントがサーバとファイアウォールの間の承認レベルに関して認識できるような１つまたは複数のファイアウォール認証証明書が含まれる。次いで、ファイアウォールは、クライアントから１つまたは複数の認証証明書を受け取ってこれを検証する。その後、ファイアウォールは、このファイアウォールを介したクライアントのサーバへのアクセスを許可する。
【００２１】
本発明に関する追加的な特徴および利点は、下記で述べており、その一部はこの記載から明らかとなろう。またこれらは、本発明の実施によって確認されることもあろう。本発明のこれらの特徴および利点は、添付の特許請求の範囲で具体的に指摘した手段および組合せによって実現し、かつ獲得することができよう。本発明に関するこれらおよびその他の特徴は、以下の説明および添付の特許請求の範囲からより十分に明らかとなろう。また本明細書の後に述べる本発明の実施によって確認されることもあろう。
【発明を実施するための最良の形態】
【００２２】
本発明に関する上記の利点および特徴、並びにその他の利点および特徴を得ることができるような方式を記載するために、上記で簡単に説明した本発明に関する、より具体的な説明を添付の図面に示した特定の実施形態を参照することによって提供する。これらの図面は単に本発明の典型的な実施形態を表したものであり、したがってこれらはその範囲を限定していると見なすべきではないことを理解しつつ、添付の図面を使用することにより、本発明は、追加的な特性および詳細を備えるように記載し、かつ説明する。
【００２３】
本発明は、透過仮想プライベートネットワーク（ＶＰＮ）を用いてネットワーク構成の複雑さを低減させるための方法、システム、およびコンピュータプログラム製品までを含む。本発明の実施形態は、図５を参照しながら以下でより詳細に検討するようなさまざまなコンピュータハードウェアを含んだ専用のまたは汎用のコンピュータを含むことができる。
【００２４】
図１は、リモートユーザがインターネットなどの公衆ネットワークを用いてプライベートネットワークに接続することができるような典型的なＶＰＮの基幹構成を表している。メインのローカルエリアネットワーク（ＬＡＮ）１２５は、サイト対サイトＶＰＮ１１５や大規模なデータ暗号化のための専用装置を用いて、例えばリモートＬＡＮ１００によってアクセスを受けることができる。サイト対サイトＶＰＮ１１５は、イントラネットベースのＶＰＮ、エクストラネットベースのＶＰＮなどにできる。ある会社が、単一のプライベートネットワークにおいて結合を希望する１つまたは複数のリモート配置を有している場合、この会社はＬＡＮとＬＡＮとを接続するためにイントラネットＶＰＮを構築することができる。さらに、ある会社が、提携先、納入業者あるいは顧客などの別の会社と緊密な関係を有している場合、ＬＡＮとＬＡＮとを接続するエクストラネットＶＰＮを構築して、この様々な会社すべてが、１つの共有環境内で作業することができる。
【００２５】
またはこれに替えて、あるいは併用によって、リモートユーザ１３０またはホームユーザ１０５はリモート−アクセスＶＰＮ１２０を使用することによってメインＬＡＮ１２５に接続することができる。大きなリモート−アクセスＶＰＮ１２０を設置しようと希望する企業は、図示していない企業向けサービスプロバイダ（ＥＳＰ）にアウトソーシングすること、または自前のＶＰＮゲートウェイを自ら設置することができる。ＥＳＰは、ネットワークアクセスサーバ（ＮＡＳ）を設置し、かつリモートユーザ１３０および１０５に対してそのコンピュータ向けのクライアントソフトウェアを提供している。次いで、リモートユーザ１３０および１０５は、ＮＡＳに至るようにフリーダイヤルの番号にダイアルし、そのＶＰＮクライアントソフトウェアを使用して、公衆ネットワークまたはプライベートネットワーク向けのポイントオブプレゼンス（ｐｏｉｎｔ  ｏｆ  ｐｒｅｓｅｎｃｅ：ＰＯＰ）１３５および１１０を介して企業ネットワークにアクセスすることができる。
【００２６】
図１では、ＶＰＮトラフィックはルータ１４０および１４５を通りインターネットなどの公衆ネットワークを介して送られている。ルータは、ネットワークトラフィックをさまざまな経路に沿ってその目的箇所まで送る特殊なコンピュータである。ルータは、２つの別個の、しかし関連のある仕事をしている。１つ目は、情報が要求していない箇所に行かないことを保証することである。２つ目は、情報を確実に意図する目的箇所に届けることである。したがって、ルータは、２つの別々のコンピュータネットワークを取り扱う際に極めて有用である。この２つのネットワークは、一方のネットワークからもう一方に情報が渡るように結合している。さらにこれによって、これらのネットワークが互いから保護され、一方に関するトラフィックがもう一方のネットワークに不必要に漏れるのを防ぐことができる。
【００２７】
図２は、クライアント２００がネットワーク２２５にアクセスする方法をより詳細に記載した図である。一般には、クライアント２００はインターネット２０５を介してネットワーク２２５にアクセスする。クライアント２００からネットワーク２２５に宛てられたデータは、ファイアウォール２１０を通過するか、またはＶＰＮゲートウェイ２３０または２３５のうちの一方を通過している。現在のところ、クライアント２００がＶＰＮゲートウェイ２３０または２３５を介してネットワーク２２５にアクセスすることを希望する場合、クライアント２００は、対応するＶＰＮゲートウェイ２３０または２３５のＩＰアドレスを知らなければならない。（ＶＰＮゲートウェイでは多くの場合、ドメイン名ではなくＩＰアドレスが追加的なセキュリティ対策として使用される）。例えば、指定されたサーバ２４０がプライベートネットワーク２２５に対するメールサーバである場合、クライアント２００は、その指定されたメールサーバ２４０用のＶＰＮゲートウェイであるゲートウェイ２３０に対するＩＰアドレスを知らなければならない。同様に、指定されたサーバ２４５がネットワーク２２５用の課金サーバである場合、クライアント２００は指定された課金サーバ２４５用のＶＰＮゲートウェイであるゲートウェイ２３５のＩＰアドレスを知っていなければならない。クライアント２００は、プライベートネットワーク２２５内の指定されたサーバ２４０または２４５へのアクセスを得るためにＶＰＮゲートウェイに適正な証明書を提供する。これらの証明書は、例えば、ユーザ名、クライアントのＩＰアドレス、パスワード、パスポート、スマートカード、クレジットカード番号、若しくはその他のうちの任意の１つ、あるいはこれらの任意の組合せとすることができる。
【００２８】
本発明の例示の実施形態によれば、クライアント２００は、ファイアウォール２１０を介してプライベートネットワーク２２５にアクセスを試みる。現在の設計と異なり、プライベートネットワーク２２５宛のパケットがパケットのネットワークルート設定の処理によってファイアウォールの外側（左側）に現れるため、クライアントは、ファイアウォールのＩＰアドレスを知る必要はない。さらに、ファイアウォール２１０は、証明書に関してクライアント２００をユーザ確認する（ｃｈａｌｌｅｎｇｅ）ことができる。ファイアウォール２１０によって実現されるユーザ確認の種類には、例えば、セキュアソケットレイヤ（ＳＳＬ）、トランスポートレイヤセキュリティ（ＴＬＳ）などのさまざまな暗号化プロトコルを使用することができる。当業者であれば理解するように、ＳＳＬやＴＬＳは機密情報を送るために使用されるセキュリティプロトコルである。
【００２９】
しかし、透過ＶＰＮにおいて典型的な種類のセキュリティプロトコル（上記で言及したセキュリティプロトコルなど）を使用することに関する問題は、これらが潜在的に持つサービス妨害（ＤｏＳ）攻撃を許す可能性があることである。当業者であれば理解するように、ＤｏＳ攻撃とは、ユーザが通常得られると期待するリソースのサービスをユーザから奪うような事象であり、これはそのリソースが無効な要求によって圧倒されるからである。例えば、こうしたサービスの喪失では、例えばｅメールなどの、ある特定のネットワークサービスが利用できなくなること、あるいは、ネットワーク接続およびサービスがすべて一時的に喪失することがある。
【００３０】
サービス妨害攻撃は、透過ＶＰＮ設定におけるクライアントとネットワークのいずれに対しても起こりうる。例えば、ＤｏＳ攻撃は、ファイアウォールにおいて、ファイアウォールがあるメッセージを受信し、署名済みのユーザ確認を送り返す際に起こることがある。この署名済みのユーザ確認は、メッセージの送信と比べてより一層大きな処理作業を必要とするため、攻撃者がファイアウォールに対してストリーム状のパケットを送り、これによって正当なクライアントに対するサービスを否定することによって、ファイアウォールを簡単に制圧することができる。同様に、ＤｏＳ攻撃は、クライアントにおいても、適正なセキュリティ証明書を提供するようにクライアントに対して指示する、無署名のユーザ確認をクライアントがファイアウォールから受信する際に起こることがある。処理負担をクライアントにシフトさせることによって攻撃の経路が形成されるのである。誰でも無署名のメッセージをクライアントに送ることができ、これによってクライアントに対して、ファイアウォールと連絡を取らせ、かつ計算量の膨大な認証処理を試みさせることができる。
【００３１】
ＤｏＳ攻撃という潜在的問題に対処するため、本発明はこれに代わる種類の認証を提供する。一実施形態例では、ゼロ知識証明（ｚｅｒｏ−ｋｎｏｗｌｅｄｇｅ  ｐｒｏｏｆ）を利用し、クライアントに対して証明書を求めるユーザ確認を出している。簡単に述べると、ゼロ知識証明では、クライアントとファイアウォールとの間における承認レベルを、その通信が進行するに従って増分式に増加させる、これらの間での一連のやり取りを行う。このやり取りは、名称や時間などの一連のランダムな質問、その他を添付された元のメッセージと共に、メッセージを要求側に送り返すことを含むことのできる、幾つかの発展するシーケンスの形をとることができる。
【００３２】
より正式には、ゼロ知識証明は、証明者および検証者を含む２つの当事者間での対話式の証明プロトコルの１つである。証明者は、ステートメントを証明する方法に関して何ら情報を明らかにすることなく、そのステートメントの検証者にこれを確信させる。ゼロ知識証明は、典型的には幾つかのラウンドを含む。ゼロ知識証明における典型的なラウンドの１つは、証明者からの「コミットメント（ｃｏｍｍｉｔｍｅｎｔ）」メッセージ、これに続く検証者からのユーザ確認、次いで証明者からのユーザ確認に対する応答からなることがある。証明者が所与のラウンドに関する適当な応答を推定することは可能であるが、このプロトコルは、正しい推定が継続しない確率が受容可能なレベルに達するまで反復することができる。換言すると、証明に関する各ラウンドにおいて正しい応答が推定される確率が五分五分であれば、２０回の応答の各々が正しく推定される確率は、２−２０、すなわち０．００００００９５３６となる。検証者は、すべてのラウンドにおける証明者の応答に基づいて、その証明を受け入れるか拒絶するかを判定している。
【００３３】
ゼロ知識証明の一実現形態は、クライアント２００に対して匿名式でユーザ確認するファイアウォール２１０を含むことがある。クライアント２００は、上述のようなゼロ知識証明技法を用い、ファイアウォール２１０に証明書を実際に与えることなく、自らが証明書を有していること、および、その証明書が正しいことの証明を提示することができる。したがって、本出願で使用する場合、「証明書（ｃｒｅｄｅｎｔｉａｌ）」という用語は、証明書に基づくゼロ知識証明と、その証明書自体とを広く包含しているものと解釈すべきである。またはそれに替えて、あるいは併用して、クライアント２００は、実際の証明書が提出される前にファイアウォール２１０がそれを識別するように要求できる。
【００３４】
一実施形態に従って、修正され、Ｄｏｓ攻撃に対処するのに用いることができる別の認証処理は、単方向性認証（ｕｎｉｌａｔｅｒａｌ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ）処理として知られている。この処理は、デバイスがメッセージを書き込む際に、そのメッセージがただこの当該デバイスによって書き込まれているように書き込めるようにする。この認証機構は、受信者が認証処理を完了させるために送信者とさらに通信する必要がないという意味で単方向性である。このメッセージは、例えば、クライアントなどのメッセージ受信者が、そのメッセージを復号しこれがこの当該デバイスから受信したに違いないことを判定するために必要なすべてのものを含む。
【００３５】
本発明は、例えば、メッセージ送信者のネットワークアドレスを公開キーに基づいて選択することと組み合わせて使用される公開キー／秘密キー暗号法に基づいている。以下の例証では、本発明において単方向性認証がどのように使用されるのかを示す。クライアント２００は、ネットワーク２２５内のある特定のホストまたはサーバ、例えば、特定のサーバ２４０または２４５へのアクセスを要求することがある。当初は、クライアント２００は、ファイアウォール２１０を意識しておらず、また単にその要求がネットワーク２２５内のある特定のホストに伝達されるように意図しているにすぎない（ここで、ファイアウォール２１０によって保護された指定されたサーバは図示してないことに留意されたい）。しかし、ファイアウォール２１０はネットワーク２２５内の指定されたホストを保護していることがあるため、要求は先ずファイアウォールに伝達される。
【００３６】
ネットワーク２２５内の所望のホストに要求を転送する前に、ファイアウォール２１０は、クライアント２００がネットワーク２２５内のこの指定されたホストへのアクセスを認められていることを検証する必要がある。ファイアウォール２１０は、クライアント２００に自身の認証を自由に要求することができるが、クライアント２００は、ファイアウォール２１０を認識せず、ファイアウォール２１０がＤｏＳ攻撃などの攻撃やセキュリティ侵害を試みていると疑うことがある。したがって、クライアント２００はファイアウォール２１０の認証要求に応答しないことがあり、また、したがってネットワーク２００内の所望のホストへのアクセスが得られないことがある。
【００３７】
しかし、本発明によって、ファイアウォール２１０は単方向性方式でクライアント２００の承認を得ることができる。例えば、例示の実施形態は、ファイアウォール２１０およびネットワーク２２５内の所望のホストが信任関係を有することを定める。このため、ファイアウォール２１０は、所望のホストの秘密キーまたはそのホストの秘密キーをファイアウォール２１０に代わって使用するネットワーク２２５内の所望のホストへのアクセスが許可される。したがって、ファイアウォール２１０がクライアント２００の証明書を要求する場合、ファイアウォール２１０は、ファイアウォール２１０がネットワーク２２５の所望のホストによって承認されていることを示すためにネットワーク２２５内の所望のホストの秘密キーによって暗号化したメッセージまたはネットワークアドレスを備えることができる。クライアント２００がネットワーク２２５内の所望のホストの秘密キーによってこのメッセージを解読できる場合、クライアント２００は、このメッセージが所望のホストまたはサーバの秘密キーを用いて暗号化されていることを認識し、したがってファイアウォール２１０がネットワーク２２５内の所望のホストによって承認されていることを推測することができる。
【００３８】
クライアント２００はさらに、単方向性認証処理を使用する際にさまざまな有利な理由から、認証済みの公開キー／ネットワークアドレス関連のキャッシュを作成し管理することもできる。例えば、キャッシュを適切に配置したクライアント２００は、これを用いて受信するメッセージ、特に公開キーを備えずに到着するメッセージ、を認証することができる。しかし、公開キーを含むメッセージでは、これらのメッセージについては上述の手順を依然として実行しなければならないため、最初はこのキャッシュによって受信者の処理負荷が軽減されないように見えるかもしれない。このことは多くの場合に正しいが、例外としてこのキャッシュが非常に有益となることがある。上記で言及したように、受信者は、受信する無効なメッセージで受信者をあふれさせるようなＤｏＳ攻撃の標的となることがある。このキャッシュを使用すれば、このＤｏＳ攻撃を防止することができる。受信するメッセージの数が、受信者が楽に処理できるメッセージ数を超えている場合、受信者は簡略化した手順に従って受信メッセージを処理する。例えば、メッセージの公開キーおよびネットワークアドレスを、すでにキャッシュ内にある公開キー／ネットワークアドレス関連と比較することができる。一致が見いだされない場合、そのメッセージは廃棄される。一致が見いだされると、そのメッセージは上述した完全な認証手順にかけられる。ＤｏＳ攻撃の間において、この手順は、無効なメッセージに対して貴重な解読時間を無駄にすることなく無効なメッセージを排除し、したがって受信者は、受信する有効なメッセージに対応することができる。もちろん、この手順で解読できるのは、その公開キーおよびネットワークアドレスがすでにキャッシュ内に存在するようなメッセージだけである。受信者は、有効ではあるがこれまでに見たことのない公開キーおよびネットワークアドレスを有する受信するメッセージを受け入れることができない。こうした妥協は、ＤｏＳ攻撃の場合クライアントが進んですることがある。受信者はＤｏＳ攻撃をうまく切り抜けた後に、より完全な手順に復帰する。
【００３９】
クライアント２００が証明書をファイアウォール２１０に提供した後、ファイアウォール２１０はこの証明書を検証すると共に、プライベートネットワーク２２５のサーバ２４０および２４５にアクセスするためのセキュアなチャンネル２１５をクライアントとで取り決める。これ以降、クライアント２００は、プライベートネットワーク２２５のサーバ２４０および２４５（または、別のサーバ）に宛てられたパケットに関してこのセキュアなチャンネル２１５を使用する。これ以外のサーバ、例えばサーバ２５０に宛てられたその他のデータパケットは、先ずプライベートネットワーク２２５を通らなくても、インターネット２０５を介してサーバ２５０までルート設定される。
【００４０】
本発明の代替の一実施形態において、そのファイアウォール２１０は、認証済みのチャンネル２２０を用いてプライベートネットワーク２２５のサーバ２４０および２４５にデータパケットを転送する。このことはそのサーバに対して、クライアントがすでにファイアウォールにおいて実施されたセキュリティチェックに合格済みであることを示す。この認証済みのチャンネル２２０は、例えば、ファイアウォール２１０が保証した署名済みのデータを含むことができ、それはそのクライアント２００がプライベートネットワーク２２５へのアクセスの認証を受けていることを具体的に示す。
【００４１】
本発明のさらに別の代替の実施形態例において、そのファイアウォールは、ネスティングされるか、またはネットワーク２２５への経路内にある幾つかのファイアウォール２１１および２１２のうちの１つとすることができる。各ファイアウォール２１１および２１２は、プライベートネットワーク２２５のセキュリティ面を統括している１つのチェックポイントの役割をしている。
【００４２】
当業者であれば理解するように、ファイアウォールは、典型的には、ファイアウォールを過度の負荷と、プライベートネットワークにアクセスを試みるすべてのユーザに対するサービスの妨害とを引き起こすサービス妨害攻撃を回避するために、ユーザに対して証明書を提供してユーザ確認を行ったりしない。本発明の一実施形態において、この問題は、クライアント２００にユーザ確認をするファイアウォール２１０が、未署名のパケットを送信し、プライベートネットワーク２２５へのアクセスを許可する前にクライアント２００に暗号処理やその他の処理を実行させることによって解決できる。当業者であれば理解するように、この処理は、パズル式防衛法（ｐｕｚｚｌｅ  ｄｅｆｅｎｓｅ）として知られている。ファイアウォール２１０は、プライベートネットワーク２２５へのアクセスを許可する前にパズルを解くように要求することによってこの処理負担（または、別の負担）をクライアント２００に振り替えている。
【００４３】
図３は、クライアント３００がファイアウォール３３５を介しサーバ３４０までどのようにルート設定するかに関する一実施形態を表している。当業者であれば理解するように、例えばｗｗｗ．ｃｏｍｐａｎｙ．ｃｏｍといったドメイン名を用いてクライアント３００をファイアウォール３３５までルート設定することがある。クライアント３００は、少なくとも１つのドメインネームシステム（ＤＮＳ）サーバ３０５に関する知見を有するようなインターネットサービスプロバイダ（ＩＳＰ）３１５を介してインターネット３１０に接続している。クライアント３００がＨＴＴＰ：／／ｗｗｗ．ｃｏｍｐａｎｙ．ｃｏｍに対する接続を要求するブラウザを起動させると、クライアント３００は、ＨＴＴＰ：／／ｗｗｗ．ｃｏｍｐａｎｙ．ｃｏｍの特定のＩＰアドレスに対するＤＮＳサーバ３０５からの情報を要求することができる。そのＤＮＳサーバ３０５がｗｗｗ．ｃｏｍｐａｎｙ．ｃｏｍの特定のＩＰアドレスに関する知見を有している場合には、この情報をクライアント３００に提供することができる。次いで、クライアント３００は、特定のＩＰアドレスの情報を有するこのデータをそのＩＳＰ３１５に送信し、このＩＳＰ３１５は次いで、サーバ３４０に到達するようにそのデータベースをルート設定しているＩＳＰ３２０および３３０などの１つまたは複数の別のＩＳＰ上にこのデータを転送する。サーバ３４０への途上で、データはファイアウォール３３５を通過する。ＤＮＳ情報はＨＴＴＰ：／／ｗｗｗ．ｃｏｍｐａｎｙ．ｃｏｍに関するトラフィックをファイアウォール３３５に導いていることに留意すべきである。したがって、クライアントはファイアウォール３３５またはサーバ３４０に関する特定の知見を必要とせず、必要となるのはドメイン名だけである。
【００４４】
ファイアウォール３３５は今、クライアント３００に対して証明書を求めるユーザ確認をしている。このユーザ確認は、クライアント３００のサーバ３４０へのアクセスの要求に応答しないようなファイアウォールの形態とすることもある。このため、クライアント３００は、セキュアなサーバ３４０へのアクセスを得るために証明書を送信する必要があることを認識することになる。
【００４５】
本発明はさらに、機能的なステップおよび／または機能的でない工程を含むような方法の形で記述することもできる。以下は、本発明を実施する際に実行することがあるような工程およびステップを記述している。通常は、機能的なステップによって達成される結果に関して本発明を記述しており、一方機能的でない工程によってある具体的な結果を得るためのより特異な処理について記述している。機能的なステップおよび機能的でない工程はある具体的な順序で記述しまたは特許請求しているが、本発明は必ずしも工程および／またはステップの特定の順序あるいは組合せに限定的されるものではない。
【００４６】
図４は、クライアントとファイアウォールの間でサービス妨害攻撃に対して相互に防護するための認証要件を平衡をとる間に、プライベートネットワークへの接続を確立させる際に使用する、例示的なステップおよび工程を表している。一連の認証トランザクションを起動させるためのステップ４００は、クライアントからのプライベートネットワークリソースへのアクセスの要求を受信する工程４０５を含むことができる。この一連の認証トランザクションは、プライベートネットワークリソースへのアクセスを要求しているクライアントと、プライベートネットワークに対する１つのゲートウェイとして動作するファイアウォールとに対して、等価の処理負担を課するように設計されている。さらに、クライアントは当初、ファイアウォールがこのプライベートネットワークの１つのゲートウェイとして動作していることを認識していない。さらに、各認証トランザクションは、クライアントおよびファイアウォールの認証が十分に検証されるまで、クライアントとファイアウォールの間で承認レベルを増分式に増加させている。
【００４７】
一連の動作を起動するためのこのステップ４００はさらに、一連のトランザクションのうちの１つに従ってクライアントに対して認証を与えるためのステップ４１０を含むことがある。さらに、クライアントに対して認証を与えるためのこのステップ４１０は、ファイアウォールによってファイアウォールを認証するようにファイアウォール証明書を送信する工程４１５を含むことがある。ファイアウォール証明書を作成することは、一定の限られたファイアウォール処理リソースを消費させる。
【００４８】
この起動のためのステップ４００はさらに、証明書に対するクライアントのユーザ確認４２０のステップを含むことができる。ユーザ確認４２０のためのステップはさらに、クライアント証明書を要求する工程４２２、並びにクライアント証明書を受信する工程４２４を含むことができる。クライアント証明書を作成しても、ファイアウォール処理リソースの消費は限られており、同様にクライアント処理リソースの消費もある程度に限られる。
【００４９】
最後に、一連の認証トランザクションが完了した時点でファイアウォールを介してプライベートネットワークリソースへのクライアントのアクセスを許可するステップ４４０は、以下の工程を含むことがある。先ず、クライアント証明書を検証する工程４４２である。次に、クライアント証明書の検証に応えて、プライベートネットワークのプライベートネットワークリソースにアクセスするためにセキュアなチャンネルを確立させる工程４４４である。次いで、このセキュアなチャンネルを用いてファイアウォールを介しクライアントからプライベートネットワークリソースに宛てられたデータを転送する工程４４６である。最後に、ファイアウォールがパケットに署名する工程４４８が設けられる。この署名済みのデータパケットは、クライアントからプライベートネットワークリソースに宛てられたものであり、またこの署名によって、ファイアウォールで実装された最小のセキュリティレベルをクライアントがパスしたことを示す。
【００５０】
この署名の工程４４８によってファイアウォールは、例えばファイアウォールで実行させたセキュリティチェックに、そのクライアントが合格済みであることをサーバに対して示している署名済みのデータなど、認証済みのチャンネルを用いたサーバへパケットを転送することができる。工程４４８においては、ＩＰＳｅｃ認証ヘッダ（ＡＨ）機能は、ファイアウォールとサーバとの間に認証を受けたトンネルを確立させるための方法のうちの１つである。さらに、ファイアウォールは、幾つかのファイアウォールをネストで構成したものとしたり、複数のファイアウォールのうちの１つとすることがあり、この中の各ファイアウォールが、そのプライベートネットワークのセキュリティ面を統括する１つのチェックポイントの役割をする。ファイアウォールは、そのキャッシュメモリを用いて指定したクライアントの証明書を最近検証したと認識し、ファイアウォールのキャッシュメモリ内に提供された証明書に基づいてそのデータに署名することもできる。
【００５１】
本発明の範疇にある実施形態は、コンピュータ実行可能な命令またはデータ構造をその上に格納して保持するまたは有するためのコンピュータ読み取り可能な媒体を含んでいる。こうしたコンピュータ読み取り可能な媒体は、汎用のまたは特殊目的のコンピュータによってアクセスを受けることができる利用可能な媒体のいずれかとすることが可能である。限定ではなく一例として、こうしたコンピュータ読み取り可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭその他の光ディスクストレージ、磁気ディスクストレージその他の磁気ストレージデバイス、あるいはコンピュータ実行可能な命令またはデータ構造の形態をした所望のプログラムコード手段を保持するまたは格納するために使用できかつ汎用のまたは特殊目的のコンピュータによってアクセスを受けることができる任意の別の媒体、を備えることができる。ネットワークや別の通信接続（有線式、ワイヤレス式のいずれか、あるいは有線式とワイヤレス式の組合せ）を介してコンピュータに情報が転送または提供される場合、コンピュータがその接続を１つのコンピュータ読み取り可能な媒体であると見なすことは妥当である。したがって、こうした任意の接続のことをコンピュータ読み取り可能な媒体と呼ぶことは妥当である。上述の組合せもまた、コンピュータ読み取り可能な媒体の範疇に含めるべきである。コンピュータ実行可能な命令は、例えば、汎用のコンピュータ、専用のコンピュータまたは特殊目的の処理デバイスにある種の機能または一群の機能を実行させるような命令およびデータを備えている。
【００５２】
図５および以下の検討は、本発明を実施できるような適切なコンピューティング環境に関する簡単な概要説明を行うことを目的としたものである。必須ではないが、本発明は、ネットワーク環境内にあるコンピュータによって実行させるプログラムモジュールなどのコンピュータ実行可能な命令の一般的な文脈において記述することにする。一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実施するような、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。コンピュータ実行可能な命令、関連するデータ構造、およびプログラムモジュールは、本明細書で開示した方法の各ステップを実行するためのプログラムコード手段の例を表したものである。こうした実行可能命令や関連するデータ構造に関する特定のシーケンスは、こうしたステップに記述された機能を実現するための対応する工程の例を表したものである。
【００５３】
当業者であれば、本発明は、パーソナルコンピュータ、ハンドへルド型デバイス、多重プロセッサシステム、マイクロプロセッサベースの電子機器またはプログラム可能な市販の電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、その他を含め多様な種類のコンピュータシステム構成を用いてネットワークコンピューティング環境で実施できることが理解されよう。本発明はさらに、分散型コンピューティング環境内で実施し、この環境内において通信ネットワークを介してリンクされた（有線リンクによるか、ワイヤレスリンクによるかのいずれか、あるいは有線リンクとワイヤレスリンクの組合せによる）ローカルおよびリモートの処理デバイスにタスクを実行させることもできる。分散型コンピューティング環境では、プログラムモジュールは、ローカルとリモートの両方のメモリストレージデバイス上に配置することがある。
【００５４】
図５を参照すると、本発明を実現するための例示的なシステムの１つは、処理ユニット５２１、システムメモリ５２２、並びにシステムメモリ５２２を含むさまざまなシステムコンポーネントを処理ユニット５２１に結合させているシステムバス５２３を含むような従来のコンピュータ５２０の形態をした汎用のコンピューティングデバイスを含んでいる。システムバス５２３は、メモリバスまたはメモリコントローラ、周辺バス、および多様なバスアーキテクチャのうちのいずれかを用いるローカルバスを含めた幾つかの種類のバス構造のうちのいずれかとすることができる。このシステムメモリは、読出し専用メモリ（ＲＯＭ）５２４およびランダムアクセスメモリ（ＲＡＭ）５２５を含んでいる。ＲＯＭ５２４内には、起動時などにおいてコンピュータ５２０内の要素間での情報の転送を支援する基本ルーチンを含んだ、基本入出力システム（ＢＩＯＳ）５２６を格納することもできる。
【００５５】
コンピュータ５２０はさらに、磁気ハードディスク５３９からの読み取りおよび磁気ハードディスク５３９への書き込みのための磁気ハードディスクドライブ５２７と、取外し可能な磁気ディスク５２９からの読み取りまたは取外し可能な磁気ディスク５２９への書き込みのための磁気ディスクドライブ５２８と、ＣＤ−ＲＯＭやその他の光学媒体などの取外し可能な光ディスク５３１からの読み取りまたは取外し可能な光ディスク５３１への書き込みのための光ディスクドライブ５３０と、を含むこともある。磁気ハードディスクドライブ５２７、磁気ディスクドライブ５２８、および光ディスクドライブ５３０はハードディスクドライブインタフェース５３２、磁気ディスクドライブインタフェース５３３、および光ドライブインタフェース５３４のそれぞれによって、システムバス５２３に接続させている。これらのドライブおよびこれらに関連するコンピュータ読み取り可能な媒体によって、コンピュータ実行可能な命令、データ構造、プログラムモジュールおよびコンピュータ５２０用のその他のデータに関する不揮発性ストレージを提供することができる。本明細書に記述した例示的な環境は、磁気ハードディスク５３９、取外し可能磁気ディスク５２９および取外し可能光ディスク５３１を利用しているが、データを格納するためには、磁気カセット、フラッシュメモリカード、ディジタル多機能ディスク、Ｂｅｒｎｏｕｌｌｉカートリッジ、ＲＡＭ、ＲＯＭ、その他を含む別の種類のコンピュータ読み取り可能な媒体を使用することができる。
【００５６】
１つまたは複数のプログラムモジュールを備えたプログラムコード手段は、オペレーティングシステム５３５、１つまたは複数のアプリケーションプログラム５３６、その他のプログラムモジュール５３７、およびプログラムデータ５３８を含め、ハードディスク５３９、磁気ディスク５２９、光ディスク５３１、ＲＯＭ５２４またはＲＡＭ５２５上に格納することができる。クライアントは、キーボード５４０、ポインティングデバイス５４２、あるいはマイクロフォン、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナ、その他などの別の入力デバイス（図示せず）を介して、コマンドおよび情報をコンピュータ５２０に入力することができる。これらのデバイスおよびその他の入力デバイスは、システムバス５２３に結合させたシリアルポートインタフェース５４６を介して処理ユニット５２１にしばしば接続される。またはこれに替えて、その入力デバイスは、並列ポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）などの別のインタフェースによって接続することができる。モニタ５４７または別のディスプレイデバイスはさらに、ビデオアダプタ５４８などのインタフェースを介してシステムバス５２３に接続させることもできる。パーソナルコンピュータは、典型的には、モニタ以外にスピーカおよびプリンタなど別の周辺出力装置（図示せず）を含んでいる。
【００５７】
コンピュータ５２０は、リモートコンピュータ５４９ａおよび５４９ｂなどの１つまたは複数のリモートコンピュータへの論理接続を用いたネットワーク環境内で動作することができる。リモートコンピュータ５４９ａおよび５４９ｂはそれぞれ、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または別の共通ネットワークノードとすることができ、また典型的には、コンピュータ５２０に関して上述した要素の多くまたはすべてを含んでいる。ただし、図５ではメモリストレージデバイス５５０ａおよび５５０ｂ、並びにこれらに関連するアプリケーションプログラム５３６ａおよび５３６ｂのみを図示している。図５に表した論理接続は、限定ではなく一例として図５に示すローカルエリアネットワーク（ＬＡＮ）５５１およびワイドエリアネットワーク（ＷＡＮ）５５２を含んでいる。こうしたネットワーキング環境は、オフィス規模のまたは企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
【００５８】
ＬＡＮネットワーキング環境内で使用する場合、コンピュータ５２０はネットワークインタフェースまたはアダプタ５５３を介してローカルネットワーク５５１と接続させている。ＷＡＮネットワーキング環境内で使用する場合、コンピュータ５２０は、インターネットなどのワイドエリアネットワーク５５２を介して通信を確立させるためのモデム５５４、ワイヤレスリンク、または別の手段を備えることができる。内部にあることや外部にあることがあるモデム５５４は、シリアルポートインタフェース５４６を介してシステムバス５２３に接続させている。ネットワーク環境では、コンピュータ５２０に関して示したプログラムモジュール、あるいはその一部分を、リモートのメモリストレージデバイス内に格納することがある。図示したネットワーク接続は、例示的なものであり、またワイドエリアネットワーク５５２を介して通信を確立させるための別の手段も可能であることを理解されたい。
【００５９】
本発明は、本発明の精神や本質的な特徴を逸脱することなく特定の別の形式で実施することもできる。記述した実施形態は、そのすべての点において、単に例示と見なすべきであり、限定と見なすべきではない。したがって、本発明の範囲は、上述した説明によってではなく、添付の特許請求の範囲によって示される。本特許請求の範囲について等価の意味および範囲にあるような変更はすべて、本発明の範疇に包含させるべきである。
【図面の簡単な説明】
【００６０】
【図１】典型的なＶＰＮ接続を表した図である。
【図２】本発明の例示的実施形態によるＶＰＮ接続を表した図である。
【図３】本発明の例示的実施形態による透過ＶＰＮ接続の機能を表した図である。
【図４】本発明に従ってクライアントをプライベートネットワークに接続する方法に関する例示的な工程およびステップを表した図である。
【図５】本発明に適した動作環境を提供している１つの例示的システムを表した図である。
【符号の説明】
【００６１】
１００  リモートＬＡＮ
１１５  サイト対サイトＶＰＮ
１２０  リモート−アクセスＶＰＮ
１２５  メインＬＡＮ
１３０  リモートユーザ
２００  クライアント
２０５  インターネット
２１０  ファイアウォール
２２５  ネットワーク
２３０  ＶＰＮゲートウェイ
２３５  ＶＰＮゲートウェイ
２４０  特定のサーバ
２４５  特定のサーバ
２５０  サーバ
３００  クライアント
３１０  インターネット
４００  シリーズ一連の動作を起動
４０５  要求を受信する
４１０  クライアントの認証
４１５  ファイアウォール証明書を送る
４２０  クライアントのユーザ確認
４２２  クライアント証明書を要求する
４２４  クライアント証明書を受信する
４４０  アクセス認可
４４２  クライアント証明書を確認する
４４４  セキュアなチャンネルを確立する
４４６  データを転送する
４４８  パケットに署名する
５２１  処理ユニット
５２２  システムメモリ
５２３  システムバス
５３２  ハードディスクドライブインタフェース
５３３  磁気ディスクドライブインタフェース
５３４  光ドライブインタフェース
５３５  オペレーティングシステム
５３６  アプリケーションプログラム
５３６ａ  アプリケーションプログラム
５３７  その他のプログラムモジュール
５３８  プログラムデータ
５４０  キーボード
５４６  シリアルポートインタフェース
５４７  モニタ
５４８  ビデオアダプタ
５４９ａ  リモートコンピュータ
５４９ｂ  リモートコンピュータ
５５１  ローカルエリアネットワーク
５５２  ワイドエリアネットワーク
５５３  ネットワークインタフェース
５５４  モデム
【図１】
2005027312.tif 000003
【図２】
2005027312.tif 000004
【図３】
2005027312.tif 000005
【図４】
2005027312.tif 000006
【図５】
2005027312.tif 000007