(57)【要約】【課題】半ば信頼されるＷｅｂサーバに含まれる制限付き情報へのアクセスを可能にする方法および装置を提供すること。【解決手段】制限付き情報は、許可されたクライアントの選択されたグループだけが使用可能な情報である。制限付き情報へのアクセスを望むクライアントは、信頼されるＷｅｂサーバを用いてそれ自身を認証し、クライアント信用証明書を入手する。次いで、そのクライアントは、その信用証明書を用いて半ば信頼されるＷｅｂサーバと交信し、制限付きコンテンツへのアクセス権を得る。半ば信頼されるＷｅｂサーバが完全にセキュアでない場合でも制限付き情報がセキュアであるように、半ば信頼されるＷｅｂサーバで制限付き情報を暗号化することができる。【選択図】図１
2004537101.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのクライアントが半ば信頼されるＷｅｂサーバを介してオリジンＷｅｂサーバからの制限付き情報にアクセスできるようにすることを含む方法であって、
前記少なくとも１つのクライアントを認証するステップと、
前記少なくとも１つのクライアントごとにクライアント特有の環境情報を有するクライアント信用証明書を作成するステップと、
前記クライアント信用証明書を前記半ば信頼されるＷｅｂサーバに提示するステップと、
前記少なくとも１つのクライアントを前記クライアント信用証明書に相関付けるステップと、
前記少なくとも１つのクライアントに前記アクセスを提供するステップと
を含む方法。
【請求項２】
前記半ば信頼されるＷｅｂサーバを介して前記少なくとも１つのクライアントに前記制限付き情報を配信することをさらに含む、請求項１に記載の方法。
【請求項３】
前記作成するステップが、前記クライアント特有の環境情報および前記クライアント信用証明書を前記少なくとも１つのクライアントのブラウザ内のクッキーに記憶することを含む、請求項１に記載の方法。
【請求項４】
前記提示するステップが、
前記半ば信頼されるＷｅｂサーバに前記クライアント信用証明書を送信すること、および
ＨＴＴＰリダイレクトを使って前記少なくとも１つのクライアントを前記半ば信頼されるＷｅｂサーバに差し向けること
を含む、請求項１に記載の方法。
【請求項５】
前記提示するステップが、
前記半ば信頼されるＷｅｂサーバからアクセス可能なディレクトリに前記少なくとも１つのクライアントの信用証明書を送信すること、および
前記オリジンＷｅｂサーバがＨＴＴＰリダイレクトを使って前記半ば信頼されるＷｅｂサーバに前記少なくとも１つのクライアントを送信すること
を含む、請求項１に記載の方法。
【請求項６】
前記作成するステップが、
前記クライアント特有の環境情報を収集すること、および
前記クライアント信用証明書に前記クライアント特有の環境情報を記憶すること
を含む、請求項１に記載の方法。
【請求項７】
前記クライアント特有の環境情報が、
前記少なくとも１つのクライアント要求のＨＴＴＰ要求ヘッダのハッシュ、
前記少なくとも１つのクライアントが使用するマシンのＩＰアドレスのハッシュ、
前記少なくとも１つのクライアントのブラウザのプロセスＩＤ、または
前記少なくとも１つのクライアントのプログラムが使用するユーザＩＤのハッシュ、あるいは
これらの任意の組合せ
を含む、請求項６に記載の方法。
【請求項８】
前記作成するステップが、
前記少なくとも１つのクライアントに第１のクライアント側プログラムを配置すること、
前記第１のクライアント側プログラムを使って第１の組の前記クライアント特有の環境情報を収集すること、
前記オリジンＷｅｂサーバに前記第１の組の前記クライアント特有の環境情報を送信すること、および
前記クライアント信用証明書に前記第１の組の前記クライアント特有の環境情報を記憶すること
を含む、請求項１に記載の方法。
【請求項９】
前記相関付けるステップが、
前記半ば信頼されるＷｅｂサーバが前記少なくとも１つのクライアントに第２のクライアント側プログラムを配置すること、
前記第２のクライアント側プログラムを用いて第２の組の前記クライアント特有の環境情報を収集すること、
前記半ば信頼されるＷｅｂサーバに前記第２の組の前記クライアント特有の環境情報を送信すること、および
前記第２の組の前記クライアント特有の環境情報を前記クライアント信用証明書に相関付けること
を含む、請求項８に記載の方法。
【請求項１０】
前記第１または第２の、あるいはその両方のクライアント特有の環境情報が、前記少なくとも１つのクライアント要求の前記ＨＴＴＰ要求ヘッダのハッシュ、前記少なくとも１つのクライアントが使用するマシンのＩＰアドレスのハッシュ、前記少なくとも１つのクライアントのブラウザのプロセスＩＤ、または前記少なくとも１つのクライアントのプログラムが使用するユーザＩＤのハッシュ、あるいはこれらの任意の組合せを含む、請求項９に記載の方法。
【請求項１１】
前記半ば信頼されるＷｅｂサーバが前記制限付き情報の暗号化バージョンにアクセスすることをさらに含み、前記クライアント信用証明書を作成する前記ステップが前記クライアント信用証明書に暗号化解除鍵を付加することを含む、請求項１に記載の方法。
【請求項１２】
前記暗号化解除鍵が部分鍵であり、前記提供するステップが、前記半ば信頼されるＷｅｂサーバが前記少なくとも１つのクライアントに前記部分鍵の完全鍵への変換を可能にする情報を供給することを含む、請求項１１に記載の方法。
【請求項１３】
前記認証するステップがユーザ・パスワード方式を用いることを含む、請求項１に記載の方法。
【請求項１４】
前記認証するステップが少なくとも１つの証明書を配備することを含む、請求項１に記載の方法。
【請求項１５】
前記クライアント特有の環境情報を収集する前記ステップが前記オリジンＷｅｂサーバによって実施され、前記オリジンＷｅｂサーバが前記クライアント信用証明書に前記クライアント特有の環境情報を記憶する、請求項６に記載の方法。
【請求項１６】
前記配置するステップおよび前記記憶するステップが前記オリジンＷｅｂサーバによって実施される、請求項８に記載の方法。
【請求項１７】
前記半ば信頼されるＷｅｂサーバがプロキシＷｅｂサーバである、請求項１に記載の方法。
【請求項１８】
前記少なくとも１つのクライアント用の信用証明書を作成する前記ステップがオリジンＷｅｂサーバにおいて実施される、請求項１に記載の方法。
【請求項１９】
前記少なくとも１つのクライアントと前記クライアント信用証明書を相関付ける前記ステップが前記半ば信頼されるＷｅｂサーバによって実施される、請求項１に記載の方法。
【請求項２０】
前記少なくとも１つのクライアントを認証する前記ステップが前記オリジンＷｅｂサーバにおいて実施される、請求項１に記載の方法。
【請求項２１】
少なくとも１つのクライアントが半ば信頼されるＷｅｂサーバを介してオリジンＷｅｂサーバからの制限付き情報にアクセスできるようにする装置であって、
前記少なくとも１つのクライアントに対する認証機構と、
前記少なくとも１つのクライアントごとにクライアント特有の環境情報を有するクライアント信用証明書を作成する信用証明書作成機構と、
前記少なくとも１つのクライアントを前記クライアント信用証明書に合致させる相関機構と
を含む装置。
【請求項２２】
前記信用証明書作成機構が前記少なくとも１つのクライアントのブラウザで設定されるクッキーに前記クライアント特有の環境情報を記憶する、請求項２１に記載の装置。
【請求項２３】
前記信用証明書作成機構が前記半ば信頼されるＷｅｂサーバに前記信用証明書を提示する、請求項２１に記載の装置。
【請求項２４】
前記信用証明書作成機構が前記少なくとも１つのクライアントのブラウザにクライアント側プログラムを記憶する、請求項２１に記載の装置。
【請求項２５】
前記相関機構が前記クライアントのブラウザに第２のクライアント側プログラムを記憶する、請求項２１に記載の装置。
【請求項２６】
前記半ば信頼されるＷｅｂサーバが前記制限付き情報を暗号化バージョンだけにアクセスでき、前記信用証明書作成機構が前記クライアント信用証明書に暗号化解除鍵を付加する、請求項２１に記載の装置。
【請求項２７】
前記暗号化解除鍵が部分鍵であり、前記半ば信頼されるＷｅｂサーバが、前記少なくとも１つのクライアントに前記部分鍵の完全鍵への変換を可能にする情報を供給する情報供給機構を含む、請求項２６に記載の装置。
【請求項２８】
少なくとも１つのクライアントが半ば信頼されるＷｅｂサーバを介してオリジンＷｅｂサーバからの制限付き情報にアクセスできるようにするコンピュータ可読プログラム・コード手段を組み込んだコンピュータ使用可能媒体を含む製造品であって、前記コンピュータ可読プログラム・コード手段が、請求項１ないし２０のいずれか一項に記載の前記各ステップをコンピュータに実施させるコンピュータ可読プログラム・コード手段を含む製造品。
【請求項２９】
少なくとも１つのクライアントが半ば信頼されるＷｅｂサーバを介してオリジンＷｅｂサーバからの制限付き情報にアクセスできるようにする方法ステップを実行するための、マシンにより実行可能な命令のプログラムを有形に実施した、前記マシンにより読取り可能なプログラム記憶装置であって、前記方法ステップが請求項１ないし２０のいずれか一項に記載の前記各ステップを含むプログラム記憶装置。
【請求項３０】
少なくとも１つのクライアントが半ば信頼されるＷｅｂサーバを介してオリジンＷｅｂサーバからの制限付き情報にアクセスできるようにするコンピュータ可読プログラム・コード手段を組み込んだコンピュータ使用可能媒体に記憶されたコンピュータ・プログラムであって、コンピュータ・プログラム製品中の前記コンピュータ可読プログラム・コード手段が、コンピュータを請求項２１ないし２６のいずれか一項に記載の装置として働かせるコンピュータ可読プログラム・コード手段を含むコンピュータ・プログラム。
【請求項３１】
少なくとも１つのクライアントが半ば信頼されるＷｅｂサーバを介してオリジンＷｅｂサーバからの制限付き情報にアクセスできるようにする手段と、
前記少なくとも１つのクライアントを認証する手段と、
前記少なくとも１つのクライアントごとにクライアント特有の環境情報を有するクライアント信用証明書を作成する手段と、
前記半ば信頼されるＷｅｂサーバに前記クライアント信用証明書を提示する手段と、
前記少なくとも１つのクライアントを前記クライアント信用証明書に相関付ける手段と、
前記少なくとも１つのクライアントに前記アクセスを提供する手段と
を含む装置。
【請求項３２】
前記半ば信頼されるＷｅｂサーバを介して前記少なくとも１つのクライアントに前記制限付き情報を配信する手段をさらに含む、請求項３１に記載の装置。
【請求項３３】
前記少なくとも１つのクライアントのブラウザ内のクッキーに前記クライアント特有の環境情報および前記クライアント信用証明書を記憶する手段をさらに含む、請求項３１に記載の装置。
【請求項３４】
前記半ば信頼されるＷｅｂサーバに前記クライアント信用証明書を送信する手段と、
ＨＴＴＰリダイレクトを使って前記少なくとも１つのクライアントを前記半ば信頼されるＷｅｂサーバに差し向ける手段と
をさらに含む、請求項３１に記載の装置。
【請求項３５】
前記オリジンＷｅｂサーバがＨＴＴＰリダイレクトを使って前記少なくとも１つのクライアントを前記半ば信頼されるＷｅｂサーバに送信し、前記半ば信頼されるＷｅｂサーバからアクセス可能なディレクトリに前記少なくとも１つのクライアントの信用証明書を送信する手段をさらに含む、請求項３１に記載の装置。
【請求項３６】
前記クライアント特有の環境情報を収集する手段と、
前記クライアント信用証明書に前記クライアント特有の環境情報を記憶する手段と
をさらに含む、請求項３１に記載の装置。
【請求項３７】
前記クライアント特有の環境情報が、
前記少なくとも１つのクライアントの要求のＨＴＴＰ要求ヘッダのハッシュ、
前記少なくとも１つのクライアントが使用するマシンのＩＰアドレスのハッシュ、
前記少なくとも１つのクライアントのブラウザのプロセスＩＤ、または
前記少なくとも１つのクライアントのプログラムが使用するユーザＩＤのハッシュ、あるいは
これらの任意の組合せを含む、請求項３６に記載の装置。
【請求項３８】
前記少なくとも１つのクライアントに第１のクライアント側プログラムを配置する手段と、
前記第１のクライアント側プログラムを使って第１の組の前記クライアント特有の環境情報を収集する手段と、
前記オリジンＷｅｂサーバに前記第１の組の前記クライアント特有の環境情報を送信する手段と、
前記クライアント信用証明書に前記第１の組の前記クライアント特有の環境情報を記憶する手段と
をさらに含む、請求項３１に記載の装置。
【請求項３９】
前記半ば信頼されるＷｅｂサーバが前記少なくとも１つのクライアントに第２のクライアント側プログラムを配置する手段と、
前記第２のクライアント側プログラムを用いて第２の組の前記クライアント特有の環境情報を収集する手段と、
前記半ば信頼されるＷｅｂサーバに前記第２の組の前記クライアント特有の環境情報を送信する手段と、
前記クライアント信用証明書に前記第２の組の前記クライアント特有の環境情報を相関付ける手段と
をさらに含む、請求項３８に記載の装置。
【請求項４０】
前記第１または第２あるいはその両方のクライアント特有の環境情報が、
前記少なくとも１つのクライアントの要求のＨＴＴＰ要求ヘッダのハッシュと、
前記少なくとも１つのクライアントが使用するマシンのＩＰアドレスのハッシュと、
前記少なくとも１つのクライアントのブラウザのプロセスＩＤと、または
前記少なくとも１つのクライアントのプログラムが使用するユーザＩＤのハッシュ、あるいは
これらの任意の組合せ
を含む、請求項３９に記載の装置。
【請求項４１】
前記半ば信頼されるＷｅｂサーバが前記制限付き情報を暗号化バージョンにアクセスする手段と、作成中に前記クライアント信用証明書に暗号化解除鍵を付加する手段とをさらに含む、請求項３１に記載の装置。
【請求項４２】
前記暗号化解除鍵が部分鍵であり、前記半ば信頼されるＷｅｂサーバが前記少なくとも１つのクライアントに前記部分鍵の完全鍵への変換を可能にする情報を供給する手段を含む、請求項４１に記載の方法。
【請求項４３】
ユーザ・パスワード方式を用いて認証する手段をさらに含む、請求項３１に記載の装置。
【請求項４４】
少なくとも１つの証明書を配備することによって認証する手段をさらに含む、請求項３１に記載の装置。
【請求項４５】
少なくとも１つのクライアントが半ば信頼されるＷｅｂサーバを介してオリジンＷｅｂサーバからの制限付き情報にアクセスできるようにするコンピュータ可読プログラム・コード手段を組み込んだコンピュータ使用可能媒体に記憶されたコンピュータ・プログラムであって、前記コンピュータ可読プログラム・コード手段が、コンピュータを請求項３１ないし４４のいずれか一項に記載の装置として働かせるコンピュータ可読プログラム・コード手段を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・ネットワークの分野を対象とする。より詳細には、本発明は、インターネット、具体的には、情報を記憶しクライアントに送信するＷｅｂサーバを対象とする。
【背景技術】
【０００２】
インターネットにおける通信の大部分には、Ｗｅｂサーバに要求を出す少なくとも１つのクライアント、およびクライアントの要求に応答するＷｅｂサーバが関与する。本明細書でＷｅｂサーバとは、ＨＴＴＰプロトコルを使ってクライアントと交信する装置または装置の集合体（データストア、ディレクトリ、マシン、ソフトウェアなど）を意味する。本明細書ではオリジンＷｅｂサーバを、特定のＷｅｂ適用例で、その適用例のセキュリティ・ポリシーに関してＷｅｂ適用例の諸機能およびデータを完全に信頼されるＷｅｂサーバであると定義する。
【０００３】
クライアントが応答を待たねばならない時間の長さを短縮し、インターネットおよびオリジンＷｅｂサーバ上の負荷を軽減する手段として、単にプロキシとも呼ばれるプロキシＷｅｂサーバからクライアントにサービスできるようにする技法が開発されてきた。その場合、プロキシＷｅｂサーバは、普通、クライアントのより近くにあり、あるいはオリジンＷｅｂサーバよりも負荷を軽くしてある。
【０００４】
プロキシＷｅｂサーバを、いくつかの異なる方式でインターネット通信プロセスに統合することができる。一部の構成においては、クライアントは、常に、オリジンＷｅｂサーバではなくプロキシＷｅｂサーバに要求を出す。プロキシＷｅｂサーバは、クライアントに応答し、必要に応じてオリジンＷｅｂサーバからコンテンツを取り出すことができ、あるいは、プロキシＷｅｂサーバがクライアントの要求を満たすことができない場合は、そのクライアントを別のプロキシＷｅｂサーバまたはオリジン・サーバに差し向けることもできる。別の構成においては、クライアントは、まず、オリジンＷｅｂサーバに要求を出す。オリジンＷｅｂサーバは、現在の要求または以後のすべての要求でそのクライアントをプロキシに差し向けることができ、あるいは、オリジンＷｅｂサーバはクライアントの要求の一部に応答し、その応答の一部については、そのクライアントを半ば信頼される（semi-trusted）Ｗｅｂサーバに差し向けることもできる。
【０００５】
大部分の場合、プロキシＷｅｂサーバにオフロードされるコンテンツは機密でないデータに限られてきたので、アクセス制御方式は必要とされない。機密でないデータとは、アクセス制御を必要とせず、ネットワーク上のどのユーザからでもアクセス可能なデータであると定義される。典型的なＷｅｂページ上では、埋め込みイメージが、機密でないデータの一例である。他方、制限付きデータまたは機密データとは、誰がそれを取得できるかについて何らかの制限を設けているデータであると定義される。制限付きデータの例には、１組の登録ユーザが購読によって取得するページ、１組の制限されたユーザだけが使用可能なイメージ、あるいは特定のユーザのためにパーソナル化できるデータが含まれる。
【０００６】
インターネット上の一般購読サービスおよびパーソナル化コンテンツは増加しており、これらもまた、プロキシＷｅｂサーバによってもたらされる性能向上の恩恵を受けるべきである。制限付き情報は、プロキシＷｅｂサーバがアクセス制御方法を適用することを必要とするが、多くの場合、プロキシＷｅｂサーバはコンテンツ提供者の制御下にないため、状況は複雑である。そうしたプロキシＷｅｂサーバは、半ば信頼されるＷｅｂサーバの部類に入る。本明細書では半ば信頼されるＷｅｂサーバを、個々のＷｅｂ適用例で、その適用例のセキュリティ・ポリシーに関してその適用例の諸機能の一部を信託されるＷｅｂサーバであると定義する。具体的には、半ば信頼されるＷｅｂサーバは、許可、ユーザ識別子へのアクセス、オリジンＷｅｂサーバへのコンテンツのＳＳＬトンネリング、および機密でないトランザクションでは信頼できるが、ユーザ・パスワードやオリジンＷｅｂサーバ用の秘密鍵など長期の機密データをこのサーバに信託することはできない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、本発明の一態様は、クライアントが半ば信頼されるＷｅｂサーバを介してオリジンＷｅｂサーバからの制限付き情報にアクセスできるようにする方法を提供することである。
【０００８】
本発明の別の態様は、クライアントが半ば信頼されるＷｅｂサーバを介してオリジンＷｅｂサーバからの制限付き情報にアクセスできるようにする装置を提供することである。
【０００９】
本発明の別の態様は、認証のためにクッキーを使用することのセキュリティ上のリスクを軽減することである。
【００１０】
本発明の別の態様は、半ば信頼されるＷｅｂサーバに記憶されたデータを保護することである。
【００１１】
本発明の一例において、クライアントは、本明細書で開示する方法を使って半ば信頼されるＷｅｂサーバにある制限付き情報にアクセスできる。
【００１２】
本発明の上記およびその他の態様、特徴および利点は、以下の本発明の詳細な説明を添付の図面と併せてさらに考察すれば明らかになるであろう。
【課題を解決するための手段】
【００１３】
本発明の他の目的およびより適切な理解は、以下の詳細な説明を参照することによって達成することができる。
【発明を実施するための最良の形態】
【００１４】
本発明は、クライアントが半ば信頼されるＷｅｂサーバを介して制限付き情報にアクセスできるようにする。このアクセスが実施される典型的な環境を図１に示す。この図には、インターネットなどのコア・ネットワークに接続されたクライアント、オリジンＷｅｂサーバ、および半ば信頼されるＷｅｂサーバが示されている。
【００１５】
クライアント１０１、半ば信頼されるＷｅｂサーバ１０４、およびオリジンＷｅｂサーバ１０３は、コア・ネットワーク１０２に接続されている。このクライアント、半ば信頼されるＷｅｂサーバ、およびオリジンＷｅｂサーバは、図に例示するように、コア・ネットワークに直接接続することも、仲介ファイアウォール、ルータ、および下位ネットワークを介して接続することもできる。半ば信頼されるＷｅｂサーバは、クライアントがオリジンＷｅｂサーバと交信するときにネットワーク中のパケットがたどる経路上に位置することができる。
【００１６】
クライアントが要求に対する応答を待たねばならない時間を短縮し、オリジンＷｅｂサーバ上の負荷を軽減するために、半ば信頼されるＷｅｂサーバはクライアントの要求にサービスすることができる。一般に、半ば信頼されるＷｅｂサーバがオリジンＷｅｂサーバよりクライアントの近くにある場合、あるいは半ば信頼されるＷｅｂサーバの負荷がオリジンＷｅｂサーバより軽い場合には、半ば信頼されるＷｅｂサーバがクライアントの要求にサービスするように選択される。一部の構成においては、クライアントは、常に、オリジンＷｅｂサーバではなく半ば信頼されるＷｅｂサーバに要求を出す。半ば信頼されるＷｅｂサーバはクライアントに応答し、必要に応じてオリジンＷｅｂサーバからコンテンツを取り出すことができ、あるいは、半ば信頼されるＷｅｂサーバがクライアントの要求を満たすことができない場合は、別の半ば信頼されるＷｅｂサーバまたはオリジンＷｅｂサーバにクライアントを差し向けることもできる。別の構成においては、クライアントは、まず、オリジンＷｅｂサーバに要求を出す。オリジンＷｅｂサーバは、現在の要求または以後のすべての要求でクライアントを半ば信頼されるＷｅｂサーバに差し向けることができ、あるいは、クライアントの要求の一部に応答し、その応答の一部についてクライアントを半ば信頼されるＷｅｂサーバに差し向けることもできる。
【００１７】
図１で、半ば信頼されるＷｅｂサーバは、必ずしも、コンテンツ提供者またはオリジンＷｅｂサーバの制御下にあるとは考えられないので、半ば信頼されるＷｅｂサーバは、長期の機密データのためのセキュリティ・ポリシーに関しては信頼されない。しかし、半ば信頼されるＷｅｂサーバは、許可、ユーザ識別子、機密でないトランザクション、およびコンテンツのＳＳＬトンネリングでは信頼される。半ば信頼されるＷｅｂサーバはオリジンＷｅｂサーバによって半ば信頼されるので、半ば信頼されるＷｅｂサーバにある制限付き情報を保護し、機密のユーザ信用証明書を保護するためにアクセス制御方法が必要である。本発明は、半ば信頼されるＷｅｂサーバにあるユーザ・パスワードなどの長期機密データを危険にさらさずに、半ば信頼されるＷｅｂサーバにある制限付き情報へのアクセス制御を提供する技法を提供する。
【００１８】
クライアントが長期機密データを危険にさらさずに半ば信頼されるＷｅｂサーバにある制限付き情報にアクセスできるようにするには、追加の機能が必要である。図２に、本明細書で開示する本発明を配備できるネットワーク中で稼動する任意のマシンの構造を示す。マシン２０１は、クライアント、半ば信頼されるＷｅｂサーバ、オリジンＷｅｂサーバ、クライアントの信頼されるエージェント、半ば信頼されるＷｅｂサーバの信頼されるエージェント、およびオリジンＷｅｂサーバの信頼されるエージェントの間で分散させることができる。本発明を実装する任意の装置２０１は、認証機構２０２、信用証明書作成機構２０３、信用証明書提示機構２０４、信用証明書相関機構２０５を含む４つのコンポーネントからなる。本発明の一部の実装形態では、認証機構２０２は、ネットワーク中にすでに存在する外部サービスによって提供することができる。認証機構２０２は、まず、オリジンＷｅｂサーバ１０３に対してクライアント１０１を認証する。信用証明書作成機構２０３は、クライアントがその後の通信に使用する信用証明書を作成する。信用証明書提示機構２０４は、クライアント信用証明書を半ば信頼されるＷｅｂサーバ１０４に伝達する。信用証明書相関機構２０５は、クライアント信用証明書をアクセス元クライアントおよびクライアントのユーザ識別子に相関付ける。
【００１９】
クライアントが制限付き情報を要求すると、そのクライアントは認証のためにオリジンＷｅｂサーバに差し向けられる。信用証明書作成後、クライアントは半ば信頼されるＷｅｂサーバに戻されて要求を繰り返し、信用証明書が半ば信頼されるＷｅｂサーバに提示される。信用証明書相関付け後、半ば信頼されるＷｅｂサーバは、信用証明書が有効である場合、要求されたコンテンツを提供することによってクライアントの要求に応答する。
【００２０】
図３に、半ば信頼されるＷｅｂサーバ３００およびオリジンＷｅｂサーバ３１０が同じネーム・スペース・ドメイン（それぞれproxy.company.comおよびcompany.comなど）に位置する場合にクライアント信用証明書を提示する技法を図示する、本発明の第１の実施形態を示す。この実施形態で、クライアントはオリジンＷｅｂサーバに要求を出す。要求は、半ば信頼されるＷｅｂサーバによってオリジンＷｅｂサーバに差し向けられることもある。クライアントは、認証コンポーネント３２０を用いてオリジンＷｅｂサーバに対して認証される。オリジンＷｅｂサーバにおいて、信用証明書作成コンポーネント３２５は、見掛けのクライアントのインターネット・プロトコル（ＩＰ）アドレスやＨＴＴＰヘッダ情報などクライアント特有の環境情報を含むＨＴＴＰクッキーの形でクライアント信用証明書を作成する。オリジンＷｅｂサーバはクライアントにそのクッキーを設定し、ＨＴＴＰリダイレクトを使ってそのクライアントを半ば信頼されるＷｅｂサーバに差し向ける。半ば信頼されるＷｅｂサーバおよびオリジンＷｅｂサーバは同じネーム・スペース・ドメインに位置するので、クライアントが半ば信頼されるＷｅｂサーバに要求を出すと、その信用証明書クッキーが半ば信頼されるＷｅｂサーバ３１５に提示されることになる。半ば信頼されるＷｅｂサーバにおいて、信用証明書相関コンポーネント３３０は、見掛けのクライアントＩＰアドレスやＨＴＴＰヘッダ情報などクライアント特有の環境情報に提供されたクッキーを相関付ける。そのクッキーが有効である場合、半ば信頼されるＷｅｂサーバは、クッキーに指定されたユーザ識別子のアクセス制御を使って要求に応答する。クッキーのフォーマットおよび検証を図１１に示す。
【００２１】
図４に、図３に示す実施形態でオリジンＷｅｂサーバ３１０が講じる措置を図示する流れ図を示す。オリジンＷｅｂサーバ３１０においてこの実施形態を実装する装置が起動されるときは必ず、この流れ図がステップ４０１から開始される。ステップ４０５で、オリジンＷｅｂサーバはクライアントからのメッセージを待つ。メッセージを受け取ると、ステップ４１０でオリジンＷｅｂサーバは、クライアントが認証されているかどうか調べる。クライアントは、図１２に示すように有効なクライアント信用証明書を提示することによって認証を得ることができ、あるいは、別の方式で認証を得ることもできる。ステップ４１０でクライアントが認証されていない場合、ステップ４２５でオリジンＷｅｂサーバは認証を開始しステップ４１０に戻る。ステップ４１０でクライアントが認証されている場合は、ステップ４１５を実行する。ステップ４１５で、オリジンＷｅｂサーバはクライアント特有の環境情報を使って、クライアントに設定するクッキーに記憶されるクライアント信用証明書を作成する。次に、ステップ４２０で、オリジンＷｅｂサーバはクライアントを半ば信頼されるＷｅｂサーバに差し向ける。最後に、オリジンＷｅｂサーバはステップ４０５に戻り次のメッセージを待つ。
【００２２】
図５に、図３に示す実施形態で半ば信頼されるＷｅｂサーバ３００が講じる措置を図示する流れ図を示す。半ば信頼されるＷｅｂサーバ３００においてこの実施形態を実装する装置が起動されるときは必ず、この流れ図がステップ５００から開始される。ステップ５０５で、半ば信頼されるＷｅｂサーバはクライアントからのメッセージを待つ。メッセージを受け取ると、ステップ５１０で半ば信頼されるＷｅｂサーバは、クライアントが有効なクライアント信用証明書を含むクッキーを提出したかどうか調べる。ステップ５１０では、クッキー中のクライアント信用証明書を、図１２に示すように半ば信頼されるＷｅｂサーバがクライアントから入手するクライアント特有の情報に相関付ける。ステップ５１０でクライアント信用証明書が有効でない場合は、ステップ５３０を実行する。ステップ５３０で、半ば信頼されるＷｅｂサーバはクライアントをオリジンＷｅｂサーバに差し向け、ステップ５０５に戻る。ステップ５１０でクライアント信用証明書が有効である場合は、ステップ５１５を実行する。ステップ５１５で、図１３に示すようにクッキーおよびクライアント信用証明書を更新する。ステップ５１５の後、ステップ５２０で半ば信頼されるＷｅｂサーバは、クライアントが認証されているかどうか調べる。ステップ５２０でクライアントが認証されていない場合は、ステップ５３５を実行する。ステップ５３５で、半ば信頼されるＷｅｂサーバはクライアントに禁止メッセージを送信しステップ５０５に戻る。ステップ５２０でクライアントが認証されている場合は、ステップ５２５を実行し、クライアントにコンテンツを提供する。ステップ５２５の後、半ば信頼されるＷｅｂサーバはステップ５０５に戻り次のメッセージを待つ。
【００２３】
図６に、クライアント信用証明書がオリジンＷｅｂサーバ６１０によって半ば信頼されるＷｅｂサーバ６００に提示され、オリジンＷｅｂサーバ６１０がＨＴＴＰリダイレクトを用いてそのクライアントを半ば信頼されるＷｅｂサーバに宛先変更する、第２の実施形態を示す。この実施形態は、オリジンＷｅｂサーバおよび半ば信頼されるＷｅｂサーバが同じドメインに位置しない場合に対処するものであるが、この実施形態をこれらのサーバが同じドメインにある場合に使用することもできる。この実施形態で、クライアントはオリジンＷｅｂサーバに要求を出す。要求は、半ば信頼されるＷｅｂサーバによってオリジンＷｅｂサーバに差し向けられることもある。クライアントは、認証コンポーネント６３０を用いてオリジンＷｅｂサーバに対して認証される。オリジンＷｅｂサーバにおいて、信用証明書作成コンポーネント６２０は、見掛けのクライアントのインターネット・プロトコル（ＩＰ）アドレスやＨＴＴＰヘッダ情報などクライアント特有の環境情報を含むＨＴＴＰクッキーの形でクライアント信用証明書を作成する。提示コンポーネント６２５は半ば信頼されるＷｅｂサーバ６３５にそのクライアント信用証明書を送信し、次いで、オリジンＷｅｂサーバ６１０は、ＨＴＴＰリダイレクトＵＲＬ中にクライアント信用証明書クッキーへの参照を含むＨＴＴＰリダイレクトによって、クライアントを半ば信頼されるＷｅｂサーバに差し向ける。クライアント６０５が半ば信頼されるＷｅｂサーバ６３５に要求を出すと、提示コンポーネント６１５はＵＲＬ照会ストリングの形でクライアント信用証明書クッキーへの参照を与え、あるいは、クライアントがすでにクライアント信用証明書クッキーを所持している場合は、半ば信頼されるＷｅｂサーバにそのクッキーを提示する。相関コンポーネント６３５では、クライアント信用証明書クッキーへの参照を使って半ば信頼されるＷｅｂサーバに記憶されたクッキーの１つを選択し、次いで、図１２に示すように、見掛けのクライアントＩＰアドレスやＨＴＴＰヘッダ情報などクライアント特有の環境情報をクライアント信用証明書に相関付ける。クライアントがクライアント信用証明書に合致する場合、半ば信頼されるＷｅｂサーバは、以後の要求でそのクライアントにそのクッキーを設定し、そのクッキーに指定されるユーザ識別子のアクセス制御を使って要求に応答する。クッキーのフォーマットおよび検証を図１１に示す。
【００２４】
図７に、オリジンＷｅｂサーバがオリジンＷｅｂサーバにクライアント特有の情報を送信するクライアント・ブラウザに第１のクライアント側プログラムをインストールし、半ば信頼されるＷｅｂサーバが半ば信頼されるＷｅｂサーバにクライアント特有の情報を送信するクライアント・ブラウザに第２のクライアント側プログラムをインストールすることによって相関付けを支援する、第３の実施形態を示す。この実施形態は、オリジンＷｅｂサーバおよび半ば信頼されるＷｅｂサーバが同じドメインに位置しない場合に対処するものであるが、この実施形態をこれらのサーバが同じドメインにある場合に使用することもできる。この実施形態は、さらに、より多くのクライアント特有の環境情報を使用することによって、認証のためにクッキーを使用することのリスクを軽減する。この実施形態で、クライアントはオリジンＷｅｂサーバに要求を出す（要求が半ば信頼されるＷｅｂサーバからオリジンＷｅｂサーバに差し向けられる可能性もある）。クライアントは、第１のクライアント側プログラムを用いて強化することができる、認証コンポーネント７３０を用いてオリジンＷｅｂサーバに対して認証される。オリジンＷｅｂサーバにおいて信用証明書作成コンポーネント７２０は、見掛けのクライアントのインターネット・プロトコル（ＩＰ）アドレスやＨＴＴＰヘッダ情報などクライアント特有の環境情報、ならびに、第１のクライアント側プログラムが収集する、ローカルＩＰアドレスやブラウザ・アプリケーションのプロセス識別子のハッシュなど、追加のクライアント特有の環境情報を含むＨＴＴＰクッキーの形で、クライアント信用証明書を作成する。提示コンポーネント７２５は半ば信頼されるＷｅｂサーバ７３５にクライアント信用証明書を送信し、次いで、オリジンＷｅｂサーバ７１０は、ＨＴＴＰリダイレクトＵＲＬ中にクライアント信用証明書クッキーへの参照を含むＨＴＴＰリダイレクトによって、クライアントを半ば信頼されるＷｅｂサーバに差し向ける。クライアント７０５が半ば信頼されるＷｅｂサーバ７３５に要求を出すと、提示コンポーネント７１５はＵＲＬ照会ストリングの形でクライアント信用証明書クッキーへの参照を与え、あるいは、そのクライアントがすでにクライアント信用証明書クッキーを所持している場合は、半ば信頼されるＷｅｂサーバにそのクッキーを提示する。相関コンポーネント７３５では、クライアント信用証明書クッキーへの参照を使って、半ば信頼されるＷｅｂサーバに記憶されたクッキーの１つを選択し、次いで、見掛けのクライアントＩＰアドレスやＨＴＴＰヘッダ情報などのクライアント特有の環境情報、および第２のクライアント側プログラムを介して相関コンポーネント７４０が入手した追加のクライアント特有の環境情報を、クライアント信用証明書に相関付ける。クライアントがクライアント信用証明書に合致する場合、半ば信頼されるＷｅｂサーバは以後の要求でそのクライアントにそのクッキーを設定し、半ば信頼されるＷｅｂサーバはそのクッキーに指定されるユーザ識別子のアクセス制御を使って要求に応答する。クッキーのフォーマットおよび検証を図１１に示す。
【００２５】
図８に、図７に示す第３の実施形態で実施されるメッセージ交換を示す。クライアントはオリジンＷｅｂサーバにＨＴＴＰ要求（８００）を送信する。オリジンＷｅｂサーバは認証要求メッセージ（８０５）で応答する。このメッセージはユーザＩＤおよびパスワードのプロンプトとしてユーザに提示される。クライアントは認証データを含む認証応答メッセージ（８１０）で応答する。オリジンＷｅｂサーバでユーザＩＤおよびパスワードが正常に確認された場合、オリジンＷｅｂサーバはクライアントにクライアント・プログラムを送信する（８１５）。このクライアント・プログラムはクライアント・マシン上で実行され、クライアントのブラウザのプロセスＩＤやユーザＩＤ、ローカルＩＰアドレスなどのローカル環境情報を収集する。この情報は、プライバシー保護のためにクライアントでハッシュされ、クライアント特有の相関情報としてオリジンＷｅｂサーバに返信される（８２０）。オリジンＷｅｂサーバは後で図１１に示すように有効なクッキーを作成し、そのクライアントの宛先変更にそのクッキーへの参照を含める（８２５）。また、オリジンＷｅｂサーバは、半ば信頼されるＷｅｂサーバに（８３０）または半ば信頼されるＷｅｂサーバからアクセス可能なディレクトリに、そのクッキーを記憶する。クライアントは続いて、宛先変更で指示されるように、半ば信頼されるＷｅｂサーバに要求を送信する（８３５）。半ば信頼されるＷｅｂサーバおよびオリジンＷｅｂサーバが同じドメインを共用している場合は、クライアントがそのクッキーを含む。クライアントがクッキーを含まない場合、半ば信頼されるＷｅｂサーバは、オリジンＷｅｂサーバがそのクッキーを記憶した場所からそれを検索する。半ば信頼されるＷｅｂサーバがクライアントからクッキーを受信せず、かつそれからアクセス可能な記憶装置からもクッキーが見つからない場合、半ば信頼されるＷｅｂサーバはクライアントをオリジンＷｅｂサーバに宛先変更し、メッセージ８００からプロセスを再開する。半ば信頼されるＷｅｂサーバは、クライアントが指定された時間内に少数回の宛先変更だけしか実施できないようにすることによって、何度も反復して宛先変更されることのないようにすることができる。半ば信頼されるＷｅｂサーバがクライアントのクッキーにアクセスできる場合は、半ば信頼されるＷｅｂサーバはクライアントに相関クライアント・プログラムを送信する（８４０）。このプログラムはクライアントの環境情報を収集し（８１５参照）、その情報のハッシュをプロキシＷｅｂサーバに返信する（８４５）。半ば信頼されるＷｅｂサーバは、次いで、クライアントの環境ハッシュがクッキーに記憶された環境ハッシュと合致するかどうか検証する。合致しない場合、半ば信頼されるＷｅｂサーバはクライアントをオリジンＷｅｂサーバに宛先変更し、このシナリオが再開される（８００）。合致する場合、半ば信頼されるＷｅｂサーバは（後で図１１に示すように）クッキーを検査する。クッキーが有効である場合、半ば信頼されるＷｅｂサーバはクッキーからクライアントの信用証明書を取り出し、認証を続行する。クライアントの信用証明書が要求された情報にアクセスするのに十分である場合は、そのクライアントにアクセス権を与え、不十分である場合は、アクセスを拒否する（８５０）。半ば信頼されるＷｅｂサーバは、（図１１に示すように）クッキーを更新し、更新したクッキーをメッセージ８５０と共にクライアントに送信し、半ば信頼されるＷｅｂサーバからアクセス可能な記憶装置にその更新したクッキーを記憶する。
【００２６】
図９に、図７に示す第３の実施形態におけるオリジンＷｅｂサーバの挙動を示す流れ図を示す。オリジンＷｅｂサーバの起動（９００）後、オリジンＷｅｂサーバは要求メッセージを待つ（９０５）。クライアント要求を受信すると、オリジンＷｅｂサーバは、図８に示すように、個々の情報を報告するクライアント側プログラムをクライアントに送信することによってクライアント環境情報を収集する。オリジンＷｅｂサーバは、このクライアントに有効なクッキーが存在するかどうか検査する（９１５）。存在する場合、クライアントはプロキシＷｅｂサーバに差し向けられ（９２０）、オリジンＷｅｂサーバは他の要求を待つ（９０５）。存在しない場合、オリジンＷｅｂサーバは、（図８のメッセージ８０５および８１０に示すように）クライアントに認証要求を送信し認証応答を待つことによってクライアントを認証する（９２５）。認証に失敗した場合、クライアントにアクセス禁止メッセージが送信され（８３５）、オリジンＷｅｂサーバは他の要求を待つ（９０５）。この場合、オリジンＷｅｂサーバは、クライアントごとの失敗した認証手続の回数を監査し、一定限度の回数の連続認証要求に失敗したアカウントをロックする必要がある。認証に成功しかつクッキーが存在しない場合、オリジンＷｅｂサーバは、図１１に示すようにそのクライアント用のクッキーを作成し、そのクライアントを半ば信頼されるＷｅｂサーバに差し向ける宛先変更メッセージと一緒にそのクライアントにそのクッキーを送信する（９４０）。オリジンＷｅｂサーバおよび半ば信頼されるＷｅｂサーバが同じドメインを共用しない場合は、半ば信頼されるＷｅｂサーバからアクセス可能なディレクトリにそのクッキーを記憶する必要がある。同じドメインを共用する場合、これは任意選択である。次いで、オリジンＷｅｂサーバは、着信要求を待つ状態に戻る（９０５）。
【００２７】
図１０に、図７に示す第３の実施形態における半ば信頼されるＷｅｂサーバの挙動を示す流れ図を示す。半ば信頼されるＷｅｂサーバの起動（１０００）後、半ば信頼されるＷｅｂサーバは着信要求を待つ（１００５）。次に、半ば信頼されるＷｅｂサーバは、要求がこのクライアント用のクッキーを含んでいるかどうか検査する（１０１０）。クライアントがその要求と共に有効なクッキーを提出せず、半ば信頼されるＷｅｂサーバがディレクトリ内など他の記憶装置にそのクライアントのクッキーを所持していない場合、そのクライアントは、クッキー作成のためにオリジンＷｅｂサーバに差し向けられる（１０１５）。そうでない場合、半ば信頼されるＷｅｂサーバは、図７に示すようにクライアント側プログラムを使ってクライアント環境情報を収集する（１０２０）。次いで、半ば信頼されるＷｅｂサーバは、図１２に示すように、収集した情報とクッキーに記憶されたクライアント情報が合致するかどうか検証する（１０２５）。合致しない場合は、有効なクッキーを作成するためにクライアントをオリジンＷｅｂサーバに差し向ける（１０１５）。合致する場合、半ば信頼されるＷｅｂサーバは、図１３に示すようにクッキーを更新する（１０３５）。次いで、半ば信頼されるＷｅｂサーバは、クッキーからそのクライアントの信用証明書を取り出し、そのクライアントが要求した情報にアクセスする権限をチェックする（１０４０）。そのクライアントが要求した情報にアクセスする権限を持たない場合、半ば信頼されるＷｅｂサーバはクライアントに禁止メッセージを送信し（１０４５）、待機状態に戻る（１００５）。そのクライアントが権限を持つ場合は、アクセス権を与える（１０５０）。その後、半ば信頼されるＷｅｂサーバは待機状態に戻る（１００５）。
【００２８】
図１１に、オリジンＷｅｂサーバが作成するクライアント・クッキーの一例を示す。このクッキーは２つの部分からなる。一方の部分は暗号化され、他方の部分は暗号化されない。暗号化される部分は、オリジンＷｅｂサーバが参照するクライアントのＩＰアドレス（１１００）、クライアント側のプログラムが収集する任意選択のクライアント相関情報（１１０５）、オリジンＷｅｂサーバが参照するクライアントの要求ヘッダのハッシュ（１１１０）、オリジンＷｅｂサーバおよび半ば信頼されるＷｅｂサーバが認証のために使用するクライアントのユーザＩＤ（１１１５）、任意選択でランダム・ビット・パターンＢ（１１２０）、クッキーの作成時刻を含むタイム・スタンプ（１１２５）、通常、作成時刻に加算される固定オフセットである、全ドメインに有効なグローバル・タイムアウト値（１１３０）、およびクッキーの作成時刻に加算される固定オフセットであるクッキー非アクティブ・タイムアウト（１１３５）からなる。このクッキーの平文の部分は、そのクッキーの上側部分の暗号化に使用する鍵を示す鍵識別番号（１１４０）、オリジンＷｅｂサーバのドメイン名（１１４５）、任意選択で暗号化されたランダム・ビット・パターンＢのコピー（１１５０）、および最後に、すべてのフィールドを平文で使用して作成される前述の各フィールドに対する電子署名（１１５５）を含む。その後、半ば信頼されるＷｅｂサーバとオリジンＷｅｂサーバが共用する鍵Kc（１１６０）を使って第１の部分の各フィールドを暗号化する。
【００２９】
図１２に、クライアントのクッキーを検査し、そのクッキーが有効な場合に、相関手順の一部としてクライアント信用証明書を戻すプロセスを図示する流れ図を示す。クライアントのクッキーはそのクライアントによるＨＴＴＰ要求中に含むことができ、あるいは、クライアントが、半ば信頼されるＷｅｂサーバに記憶された、または外部装置またはディレクトリを介して半ば信頼されるＷｅｂサーバから使用可能な、クッキーへの参照を提供することもできる。クッキーが見つからない場合、クライアントを認証しクッキーを作成することができるように、そのクライアントをオリジンＷｅｂサーバに差し向ける。クッキー検査手順はステップ１２００から開始される。ステップ１２０５で、ドメイン識別子および鍵識別子を使って該当する暗号化解除鍵を選択し、暗号化解除操作を実施することによって、クッキーを暗号化解除する。ステップ１２１０で、グローバル・タイムアウト・フィールドおよび非アクティブ・タイムアウト・フィールドをチェックしてクッキーの有効期限が切れているかどうか調べ、ビット・パターンをビット・パターンのコピーと比較する。クッキーのグローバル・タイムアウトまたは非アクティブ・タイムアウトのどちらかの有効期限が切れている場合、またはビット・パターンとビット・パターン・コピーが同等でない場合、そのクッキーは無効であり、ステップ１２１５を実行する。ステップ１２１５で、プロセスは無効を返し停止する。ステップ１２１０でクッキーの有効期限が切れておらず両ビット・パターンが合致する場合、ステップ１２２０を実行する。ステップ１２２０で、ステップ１２０５でクッキーの暗号化解除に使用した鍵の信用が損なわれているとマークされた場合、あるいは、セキュリティを高めることが必要とされる場合、ステップ１２２５を実行する。そうでない場合は、ステップ１２３０を実行する。ステップ１２２５で、クッキーの署名をチェックする。署名が合致しない場合、そのクッキーは無効であり、ステップ１２１５を実行する。署名が合致する場合、ステップ１２３０を実行する。ステップ１２３０で、半ば信頼されるＷｅｂサーバはクライアント特有の環境情報を収集する。見掛けのＩＰアドレスやＨＴＴＰヘッダ・ハッシュなどクライアント特有の環境情報の一部はクライアント接続から得ることができ、ローカル・ユーザ識別子、ブラウザ・プロセス識別子、ＩＰアドレスのハッシュなど他のクライアント特有の環境情報は、第２のクライアント側プログラムから半ば信頼されるＷｅｂサーバに送信することができる。ステップ１２３０の後、ステップ１２３５で、クライアント特有の環境情報のハッシュがクッキーに記憶されたクライアント特有の環境情報と同等であるかどうかチェックする。ステップ１２３５で同等でない場合、そのクッキーは無効であり、ステップ１２１５を実行する。ステップ１２３５で同等である場合、ステップ１２４０を実行する。ステップ１２４０で、クッキー中のクライアント・アクセス信用証明書を検索する。ステップ１２４５で、検査プロセスは有効と報告し、呼出し元にクライアントの信用証明書を返す。これらの信用証明書をその認証全体を通じて使用して、そのクライアントにアクセス権を与えるか否か決定する。
【００３０】
図１３に、クライアントのクッキーを更新するプロセスを図示する流れ図を示す。ステップ１３００で実行を開始した後、ステップ１３０５を実行する。ステップ１３０５で、図１２で示した検査プロセスでクッキーが有効とマークされたか否か調べる。ステップ１３０５で、クッキーが有効でない場合、ステップ１３３０を実行する。ステップ１３３０で、そのクライアント、ローカルの記憶装置、およびいずれのクッキー・ディレクトリや記憶装置からもそのクッキーを削除し、ステップ１３２５を実行する。ステップ１３２５で、クッキー更新プロセスを停止する。ステップ１３０５でクッキーが有効な場合、ステップ１３１０で新しい非アクティブ・タイムアウトを設定し、ステップ１３１５を実行する。ステップ１３１５で、半ば信頼されるＷｅｂサーバは、鍵管理システムをチェックしてクライアントが使用する鍵がまだ有効かどうか調べる。鍵がタイムアウトした場合、あるいはオリジンＷｅｂサーバが半ば信頼されるＷｅｂサーバにその鍵が有効でなくなったと知らせるメッセージを送信した場合、鍵が有効でないことがある。ステップ１３１５で鍵が有効でなくなっている場合、ステップ１３３０を実行する。ステップ１３１５で鍵が有効である場合、ステップ１３２０で鍵識別子フィールドに示されるものと同じ共用鍵でクッキーを暗号化し、ステップ１３２５を実行する。
【００３１】
図１４に、クッキーの一部が気付かずに変更され開示されることのないよう保護するために半ば信頼されるＷｅｂサーバおよびオリジンＷｅｂサーバによって使用される鍵エントリを示す。この鍵エントリは、鍵識別番号（１４００）、鍵自体（１４０５）、および任意選択で鍵タイムアウト値（１４１０）からなる。最初に、オリジンＷｅｂサーバは、新しい鍵と新しい鍵識別番号と空のタイムアウト値を有する鍵エントリを作成し、それをすべての半ば信頼されるＷｅｂサーバに安全に配布する。オリジン・サーバは、該当するクッキー・フィールド（図１１参照）にクッキー作成時に使用する鍵の鍵識別を含む。ある半ば信頼されるＷｅｂサーバの信用が損なわれたことを知ると、オリジンＷｅｂサーバは、信用が損なわれていない半ば信頼されるＷｅｂサーバに新しい鍵識別番号を有する新しい鍵エントリを発行する。この新しい鍵発行によって半ば信頼されるＷｅｂサーバがトリガされて古い鍵のグローバル・タイムアウト値を（たとえば５秒と）設定する。このタイムアウト値の有効期限が切れた後、古い鍵を使用するクッキーは受け入れられなくなり（図１３参照）、そうしたクッキーを提示するクライアントは認証および新しいクッキー作成のためにオリジンＷｅｂサーバに宛先変更される。このように、信用が損なわれたＷｅｂサーバによって知られていたクッキーに関連するクッキーおよびユーザ情報は、それらに反射攻撃する価値を失う。
【００３２】
図１５に、オリジンＷｅｂサーバがクライアントのためにセキュア・コンテンツを作成するときに講じる措置を図示する流れ図を示す（１５００）。この部分は、クライアントが、秘匿すべき情報を検索する場合に、その情報がこれらのデータを配信する半ば信頼されるＷｅｂサーバに関するものであっても適用される。検索される情報の大部分は機密性のあまり高くない、半ば信頼されるＷｅｂサーバでのキャッシングを活用する多くのユーザが共用できるものなので、半ば信頼されるＷｅｂサーバが配信する情報にセキュア・コンテンツを埋め込めば拡張可能性およびセキュリティが強化される。この少量の個別の機密データは、クライアントに対しては透過的に、半ば信頼されるＷｅｂサーバによってオリジンＷｅｂサーバから自動的に検索される。クライアントにインストールされた専用のセキュア・コンテンツ・ハンドラは、ユーザがセキュアなデータと従来のデータとを区別できるような形で、セキュア・コンテンツをユーザに提示する。セキュア・コンテンツを可能にするために、コンテンツ提供者は鍵Kclientを決定し、それをクライアントと共用する（１５０５）。次いで、その機密のコンテンツを鍵Kcontentで暗号化する（１５１０）。鍵KcontentをKclientで暗号化し、セキュア・コンテンツに付加する（１５１５）。このコンテンツを新しいタグでマークし（１５２０）、次いで、クライアントに直接配信し、あるいは半ば信頼されるＷｅｂサーバに配信し、このＷｅｂサーバは、このクライアントに配信するコンテンツの一部としてこのセキュア・コンテンツを埋め込む（１５２５）。この手順は１５３０で終了する。独立鍵Kcontentを使って機密コンテンツを暗号化すると、鍵Kclientを共用しない相異なるユーザのための暗号化コンテンツの使用がサポートされる。オリジンＷｅｂサーバは、コンテンツ全体ではなく、単に共通鍵を複数回暗号化するだけでよい。
【００３３】
図１６に、半ば信頼されるＷｅｂサーバが一部分セキュアなコンテンツを配信するときに講じる措置を図示する流れ図を示す（１６００）。半ば信頼されるＷｅｂサーバがこのセキュア・コンテンツを検索する場合、クライアント識別情報（そのクライアントのクッキーなど）を決定し（１６０５）、オリジンＷｅｂサーバからそのセキュア・コンテンツを検索するときにそれをオリジンＷｅｂサーバに提示する（１６１０）。この識別によりオリジンＷｅｂサーバは鍵Kclientを決定することができる（図５参照）。半ば信頼されるＷｅｂサーバは、オリジンＷｅｂサーバからそのクライアント用のセキュア・コンテンツを受信し、そのコンテンツをクライアントに配信する（１６１５）。セキュア・コンテンツをキャッシュできるか否かはそのコンテンツ自体に依存し、オリジンＷｅｂサーバによって決定される。要求のセキュア・コンテンツ部分を配信する手順は１６２０で終了する。
【００３４】
図１７に、クライアントがセキュア・コンテンツを受信するときに講じる措置を図示する流れ図を示す（１７００）。まず、クライアントのブラウザは、それが受信したコンテンツのタイプのための登録プログラムを所持しているかどうかチェックする（１７０５）。クライアントが従来のコンテンツを受信した場合は、クライアントは既存のコンテンツ・ハンドラを使ってデータを処理し（１７１０）、戻る（１７１５）。クライアントがセキュア・コンテンツであるとタグ付けされたデータを受信した場合、ブラウザはこのコンテンツを処理する個々の登録プログラムを自動的に検索する（１７２０）。クライアントは、専用コンテンツ・タグ（図１８参照）によってセキュア・コンテンツを認識する。ブラウザがセキュア・コンテンツ用のハンドラを登録していない場合、ユーザにプロンプトが出され、そのユーザはインストール手順を実行しなければならない。このセキュア・コンテンツ用のクライアント側ハンドラは、オリジンＷｅｂサーバからセキュアな接続を介してインストールされる。このプロセス（１７２５）全体を通じてセキュアな鍵Kclientもクライアント・プログラムにインストールされる。Kclientはクライアント側プログラムおよびコンテンツ提供者（たとえばオリジンＷｅｂサーバ内のＣＧＩスクリプトやサーブレット）だけにしか知られない。次に、Ｗｅｂブラウザの一部であるこのクライアント・プログラムがトリガされてそのセキュア・コンテンツ・タイプを処理する。クライアント側プログラムは、セキュア・コンテンツに添付された保護鍵Kpを取り出し（１７３０）、鍵Kpをそれ自体の秘密鍵Kclientで暗号化解除することによってそのセキュア・コンテンツ用の暗号化解除鍵Kcontentを計算する（１７３５）。その結果得られる鍵Kcontentを使ってそのセキュア・コンテンツを暗号化解除し、その完全性をチェックする（１７４０）。その結果得られる平文は、Ｗｅｂブラウザで通常どおり処理することができ、あるいは、あるページのどの部分がセキュア・コンテンツでありどの部分がそうでないかユーザに示すような形でクライアント側プログラムがその平文を提示することもできる（１７４５）。
【００３５】
図１８に、セキュア・コンテンツに添付される新しいコンテンツ・タイプ（１８００）を示す。新しいタグ（１８０５）はクライアントのＷｅｂブラウザをトリガして（図１５に示すようにインストールされた）クライアント側プログラムをアクティブにする。保護鍵部分（１８１０）は、Kclientによって保護された、セキュア・コンテンツを暗号化解除するための鍵を含む。タグの後には暗号化されたセキュア・コンテンツ（１８１５）が続く。このセキュア・コンテンツ・タグ（１８０５）を実装する１つの可能な方法は、新しいコンテンツ・ハンドラによって処理される、特別なファイル拡張子（「sec」など）を使用することである。そのファイル自体が保護鍵（１８１０）およびセキュア・コンテンツ（１８１５）を含む。別の可能な方法は、セキュア・コンテンツ・タグ（１８０５）と、保護鍵（１８１０）およびセキュア・コンテンツ（１８１５）を含むファイルを指すポインタとを実装する、セキュア・コンテンツ用の新しいＨＴＭＬタグを定義することである。
【００３６】
以上、本明細書では、本発明のより適切な目的および実施形態の一部の概略を述べてきたことに留意されたい。本発明は多くの用途に使用することができる。したがって、個々の構成および方法について説明したが、本発明の意図および構想は他の構成および用途にも適し応用可能である。当分野の技術者には、本発明の精神および範囲を逸脱することなく開示の実施形態への変更を実施できることが明らかであろう。記述した実施形態は、単に本発明のより顕著な特徴および用途の一部を例示したものに過ぎないと解釈すべきである。開示の発明を異なる方式で適用し、あるいは本発明を当分野の技術者に公知のやり方で変更することによって、他の有益な結果を実現することができる。
【００３７】
本発明は、ハードウェア、ソフトウェア、あるいはハードウェアとソフトウェアの組合せとして実施することができる。本発明による視覚化ツールは、１つのコンピュータ・システム内において集中化方式で、あるいは相異なる構成要素が複数の相互接続されたコンピュータ・システム全体に分布する分散方式で実施することができる。任意の種類のコンピュータ・システム、あるいは本明細書で述べた方法を実行するように適合された他の装置を適用することができる。ハードウェアとソフトウェアの典型的な組合せは、ロードされ実行されたとき本明細書で述べた方法を実行するようにコンピュータ・システムを制御するコンピュータ・プログラムを備える汎用コンピュータ・システムとすることができる。本発明はまた、本明細書で述べた方法の実装を可能にするすべての特徴を備え、コンピュータ・システムにロードされたときこれらの方法を実行できるコンピュータ・プログラム製品に組み込むこともできる。
【００３８】
本発明の文脈においてコンピュータ・プログラム手段またはコンピュータ・プログラムとは、情報処理能力を有するシステムに、直接に、あるいはａ）別の言語、コードまたは表記への変換と、ｂ）異なる物的形態での複製のどちらかまたは両方の後で、個々の機能を実施させるための、１組の命令の、任意の言語、コードまたは表記での任意の表現を意味する。
【図面の簡単な説明】
【００３９】
【図１】クライアント、オリジンＷｅｂサーバ、および半ば信頼されるＷｅｂサーバを有する環境と、半ば信頼されるＷｅｂサーバを介して制限付き情報にアクセスするクライアントに関連する問題を示す図である。
【図２】図１で示す環境においてクライアントが制限付き情報にアクセスできるようにする、本発明で述べる方法の配備を示し、認証機構、作成機構、提示機構、相関機構を示す図である。
【図３】半ば信頼されるＷｅｂサーバとオリジンＷｅｂサーバが同名のスペース・ドメイン（たとえば、それぞれproxy.company.comとcompany.comなど）に位置する場合にクライアント信用証明書を提示する技法を図示する、本発明の第１の実施形態を示す図である。
【図４】図３に示す実施形態でオリジンＷｅｂサーバが講じる措置を示す流れ図である。
【図５】図３に示す実施形態で半ば信頼されるＷｅｂサーバが講じる措置を示す流れ図である。
【図６】オリジンＷｅｂサーバによってクライアント信用証明書が半ば信頼されるＷｅｂサーバに提示され、オリジン・サーバがＨＴＴＰリダイレクトを用いて半ば信頼されるＷｅｂサーバにクライアントを宛先変更する，オリジンＷｅｂサーバと半ば信頼されるＷｅｂサーバが同じドメインに位置しない場合に対処するための第２の実施形態を示す図である。
【図７】オリジンＷｅｂサーバがクライアント特有の情報をオリジンＷｅｂサーバに送信するクライアント・ブラウザに第１のクライアント側プログラムをインストールし、半ば信頼されるＷｅｂサーバがクライアント特有の情報を半ば信頼されるＷｅｂサーバに送信するクライアント・ブラウザに第２のクライアント側プログラムをインストールすることによって相関付けを支援する、第３の実施形態を示す図である。
【図８】図７に示す実施形態の各イベントの順序を示す図である。
【図９】図７に示す実施形態でオリジンＷｅｂサーバが講じる措置を示す流れ図である。
【図１０】図７に示す実施形態で半ば信頼されるＷｅｂサーバが講じる措置を示す流れ図である。
【図１１】半ば信頼されるＷｅｂサーバに提示されるクッキーを作成するためにオリジンＷｅｂサーバが講じる措置を示す流れ図である。
【図１２】相関手順の一部としてクッキーを検査するときにオリジンＷｅｂサーバまたは半ば信頼されるＷｅｂサーバが講じる措置を示す流れ図である。
【図１３】前述の手順の一部としてクッキーを更新するときにオリジンＷｅｂサーバまたは半ば信頼されるＷｅｂサーバが講じる措置を示す流れ図である。
【図１４】半ば信頼されるＷｅｂサーバおよびオリジンＷｅｂサーバが共用する鍵の使用を示す図である。
【図１５】半ば信頼されるＷｅｂサーバを介して配信するためのセキュア・コンテンツを作成するときにオリジンＷｅｂサーバが講じる措置を示す流れ図である。
【図１６】半ば信頼されるＷｅｂサーバが一部分セキュアなコンテンツを配信するときに講じる措置を示す流れ図である。
【図１７】セキュア・コンテンツを受信するときにクライアントが講じる措置を示す流れ図である。
【図１８】セキュア・コンテンツを区別する新しいコンテンツ・タイプの使用を示す図である。
【図１】
2004537101.tif 000003
【図２】
2004537101.tif 000004
【図３】
2004537101.tif 000005
【図４】
2004537101.tif 000006
【図５】
2004537101.tif 000007
【図６】
2004537101.tif 000008
【図７】
2004537101.tif 000009
【図８】
2004537101.tif 000010
【図９】
2004537101.tif 000011
【図１０】
2004537101.tif 000012
【図１１】
2004537101.tif 000013
【図１２】
2004537101.tif 000014
【図１３】
2004537101.tif 000015
【図１４】
2004537101.tif 000016
【図１５】
2004537101.tif 000017
【図１６】
2004537101.tif 000018
【図１７】
2004537101.tif 000019
【図１８】
2004537101.tif 000020
【国際公開パンフレット】
2004537101.tif 000021
2004537101.tif 000022
2004537101.tif 000023
2004537101.tif 000024
2004537101.tif 000025
2004537101.tif 000026
2004537101.tif 000027
2004537101.tif 000028
2004537101.tif 000029
2004537101.tif 000030
2004537101.tif 000031
2004537101.tif 000032
2004537101.tif 000033
2004537101.tif 000034
2004537101.tif 000035
2004537101.tif 000036
2004537101.tif 000037
2004537101.tif 000038
2004537101.tif 000039
2004537101.tif 000040
2004537101.tif 000041
2004537101.tif 000042
2004537101.tif 000043
2004537101.tif 000044
2004537101.tif 000045
2004537101.tif 000046
2004537101.tif 000047
2004537101.tif 000048
2004537101.tif 000049
2004537101.tif 000050
2004537101.tif 000051
2004537101.tif 000052
2004537101.tif 000053
2004537101.tif 000054
2004537101.tif 000055
2004537101.tif 000056
2004537101.tif 000057
2004537101.tif 000058
2004537101.tif 000059
2004537101.tif 000060
2004537101.tif 000061
2004537101.tif 000062
2004537101.tif 000063
2004537101.tif 000064
2004537101.tif 000065
【国際調査報告】
2004537101.tif 000066
2004537101.tif 000067