説明

分散シングルサインオンサービス

記載の実装は、クライアントコンピューティングデバイスとサービスプロバイダの間の認証された通信を確立することに関する。1つの実装において、いったん登録処理が完了すると、複数の認証サーバが、認証された通信セッションの確立を容易にするためにクライアントコンピューティングデバイスおよびサービスプロバイダによって使用される。しかしながら、認証サーバは必ずしも信頼できる機関である必要はない。すなわち、種々の記載のデバイスの秘密は互いに対して明かされない。

【発明の詳細な説明】
【背景技術】
【0001】
オンラインユーザは、概して、そのユーザがアクセスする権限を与えられる各サービスプロバイダ用の一連の認証証明物(例えば、ユーザ名およびパスワード)を維持することが要求される。これらのユーザは、高レベルのセキュリティを保つためにそれぞれの個々のサービスプロバイダ用に異なる認証証明物を使用するか、または低下したレベルのセキュリティをもたらす様々なサービスプロバイダに対する同一の認証証明物を使用するかのジレンマに直面することが多くある。多数の認証証明物を記録および維持することが難しいので前者よりも後者が選択されることが多い。さらに、セキュリティの影響は別として、サービスプロバイダに対してアクセスする度にユーザに認証証明物を入力するように要求することが必要となるのは、概して不便で時間がかかる手続きである。
【0002】
様々なオンラインサービスに対するアクセスを提供する認証証明物の複数の組を維持する必要を減らすかまたはなくすために様々な従来技術が提案されてきた。そのような技術の1つは、加入しているサービスプロバイダに対する認証サービスを提供する集中的な証明物管理を利用する。ユーザが最初に集中的な証明物管理と関係を確立し、認証を行った後で、集中的な証明物管理は、その後ユーザが加入しているサービスプロバイダのうちのいずれかに対するアクセスを要求するときに認証プロセスを管理する。この技術は、多数のサービスプロバイダのアクセスを要求しなければならないという複雑性を著しく減らす。高レベルのユーザのセキュリティが維持されながら、集中的な証明物管理は加入している様々なサービスプロバイダとの認証の詳細を透過的に処理する。
【0003】
現在の通常の集中的な証明物管理技術は、全てのオンライン環境に適している訳ではない。ある通常の集中的な証明物管理技術は、ユーザに認証サーバと認証を行うように要求する。認証の後、認証サーバは認証チケットをユーザに発行する。認証チケットは、サービスアクセスチケット(service access tickets)を発行するサーバにアクセスするためにユーザによって使用される。このサーバは、認証チケットが有効である場合にサービスアクセスチケットをユーザに発行する。ユーザはその後、サービスアクセスチケットを使用してサービスプロバイダにアクセスすることができる。
【0004】
説明された通常の集中的な証明物管理技術は、サービスプロバイダが集中的に維持される場合に安全なアクセス機能を提供する。しかし、サービスプロバイダがインターネットなどの、多数の異なるユーザ/エンティティを有するネットワークの一部である場合にはサービスプロバイダに対する安全なアクセスは危険にさらされる。
【0005】
別の従来の認証技術は、登録ユーザおよびそれらの登録ユーザの関連する認証証明物を含む集中的なデータベースを使用する。登録ユーザのそれぞれはユニークな64ビットのID番号を有する。この従来の認証技術は、加入しているそれぞれのサービスプロバイダにもユニークなIDを割り当てる。これらのユニークなIDは集中的なデータベースにも保持される。加入しているサービスプロバイダは、集中的なデータベースを管理するエンティティとの安全な通信を容易にするサーバコンポーネントを実装することに同意する。登録ユーザが加入しているサービスプロバイダと認証を行うように試みるとき、ユーザは認証を容易にするための管理エンティティに透過的にリダイレクトされる。加入しているサービスプロバイダと管理エンティティとの間の実装された安全な通信経路は、許可された認証要求を確実にすることを支援する。
【発明の開示】
【発明が解決しようとする課題】
【0006】
前述の認証技術は安全なウェブベースの認証を提供する。しかし、当該技術はインターネットコミュニティによって広く採用されてこなかった。これは、当該技術の集中的なデータベースの設計の特徴が主な原因である。一部のサービスプロバイダは、集中データベースが使用されるので当該技術を容認しない。具体的には、サービスプロバイダは、ユーザ認証の成功を保証するために、集中的なデータベースを管理するエンティティに頼らなければならない。当該エンティティが技術的な困難を経験する場合、ユーザ認証が途絶されることがある。サービスプロバイダが制御できないこの途絶の可能性は、サービスプロバイダが進んで冒したくはないリスクとなる場合がある。さらに、集中的なデータベースの使用は、この認証技術をハッカーおよびマルウェアからの攻撃を特に受けやすくする。
【課題を解決するための手段】
【0007】
ここに説明される実装は、クライアントコンピューティングデバイスとサービスプロバイダの間の認証された通信を確立することに関する。通信が、クライアントコンピューティングデバイスおよびサービスプロバイダの秘密を保持する信頼された機関の使用なしに可能となる。
【0008】
登録プロセスの後、クライアントコンピューティングデバイスは、認証サーバを使用してサービスプロバイダとの認証された通信を要求する。クライアントコンピューティングデバイスは、そのクライアントコンピューティングデバイスが登録されている複数の認証サーバの任意の集合(この集合内のサーバの数は閾値以上である。)を使用して、サービスプロバイダとの認証された通信を要求することができる。サービスプロバイダも同様に、クライアントコンピューティングデバイスが認証された通信を確立するために使用する認証サーバに登録されるべきである。
【0009】
クライアントコンピューティングデバイスは、そのクライアントコンピューティングデバイスのユニークな識別IDを含む認証要求並びに、ユニークな識別ID、デバイスのIPアドレスなどのネットワークアドレス、およびナンスを含む暗号化された認証トークンをサービスプロバイダに送信することができる。暗号化された認証トークンは、認証サーバとの以前の通信で受信したものである。各認証サーバは、部分的な認証トークンを暗号化および生成するために、クライアントコンピューティングデバイスが認証された通信を望んでいるサービスプロバイダから取得された分割鍵を使用した。サービスプロバイダは、非公開の秘密鍵を使用して認証トークンを暗号化解除し、それによって、暗号化された認証情報を明らかにする。この情報は、送信されたユニークな識別IDと共に、認証された通信が認可されるかどうかを判断するためにサービスプロバイダによって使用される。
【0010】
この概要は、以下でさらに詳細に説明される概念の選択を簡素化した形式で導入するために提供される。この概要は、発明の構成要件の主要な特徴または必須の特徴を特定することを意図しておらず、発明の構成要件の範囲を決定するのを支援するために使用されることを意図していない。
【発明を実施するための最良の形態】
【0011】
図面を参照して非限定的で非網羅的な実施形態を説明するが、別途指定されない限り、種々の図を通じて同様の参照番号は同様の部分を示す。
【0012】
[概要]
サービスプロバイダとの認証を行うためのシステムおよび方法を説明する。以下に、クライアントコンピューティングデバイスとサービスプロバイダのデバイスとの間で認証された通信を確立するために、クライアントとサービスプロバイダと認証デバイスとの間で利用される処理の広範な検討が提供される。この検討は、図1に示される例示的な環境を使用する。その後、種々のデバイス間で使用される様々な処理の例示的な実装をさらに詳細に説明する。具体的には、サービスプロバイダに対する認証されたアクセスを行うためにクライアントコンピューティングデバイスによって使用される処理の詳細な検討が図2と共に提供され、認証サーバとのサービスプロバイダ登録処理の詳細な検討が図3と共に提供され、認証サーバとのクライアントコンピューティングデバイス登録処理の詳細な検討が図4と共に提供され、認証サーバとのクライアントコンピューティングデバイス認証処理の詳細な検討が図5と共に提供される。最後に、サービスプロバイダ、クライアントコンピューティングデバイス、および認証サーバの例示的な実装がそれぞれ図6〜8と共に検討される。
【0013】
[例示的環境]
図1に、1つまたは複数のサービスプロバイダ104(1)〜104(n)と通信可能ないくつかのクライアントコンピューティングデバイス102(1)〜102(n)を含むコンピュータネットワーク環境100の例示的な実装を示す。クライアントコンピューティングデバイス102(1)〜102(n)とサービスプロバイダ104(1)〜104(n)の間の双方向通信を、ネットワーク120(例えば、インターネット)を用いて容易にする。認証サーバ106(1)〜106(n)もネットワーク120に接続される。1つまたは複数の認証サーバ106は、クライアントコンピューティングデバイス102(1)〜102(n)およびサービスプロバイダ104(1)〜104(n)に対して認証サービスを提供するために協働する。各認証サーバは通常、別の認証サーバと同じ機能を有する。
【0014】
所定の任意の時間に、クライアントコンピューティングデバイス102(1)などの、複数のクライアントコンピューティングデバイス102(1)〜102(n)のうちの1つは、サービスプロバイダ104(1)などの、サービスプロバイダ104(1)〜104(n)のうちの1つが提供するサービスを要求することができる。認証サーバ106(1)〜106(n)のサブセットが、クライアントコンピューティングデバイス102(1)がサービスプロバイダ104(1)と適切に認証を行うことを可能にする技術を提供する。サービスプロバイダ104(1)は通常、適切な認証が得られるまでクライアントコンピューティングデバイス102(1)〜102(n)のうちのいずれにもサービスを提供しない。
【0015】
サービスプロバイダ104(1)およびクライアントコンピューティングデバイス102(1)はそれぞれ、サーバ106(1)〜106(n)の認証サービスを要求する前に認証サーバ106(1)〜106(n)との関係を確立する。サービスプロバイダ104(1)が認証サーバ106(1)〜106(n)との最初の接触を確立した後、サーバモジュール130がサービスプロバイダ104(1)に提供される。このサーバモジュール130は、サービスプロバイダ104(1)が関係登録フェーズ中に必要とする動作パラメータを提供する。サーバモジュール130をサービスプロバイダ104(1)の揮発性または不揮発性メモリ内に直接記録できる。サービスプロバイダ104(1)が複数のサーバ(例えば、サーバファーム)を有する場合、サーバモジュール130をそれらの複数のサーバのうちの適切な1つに記録できる。
【0016】
サーバモジュール130を取得した後、サービスプロバイダ104(1)は、秘密暗号化キーおよび対応する秘密暗号化解除キーを生成する。秘密暗号化キーは、追加的なキーを生成するために分割される。1つの実装において、秘密キーは閾値法(threshold scheme)を使用して分割される。しかしながら、その他の分割法が同様に使用されてよい。分割キーは、サービスプロバイダ104(1)を特定するユニークなIDと共に106(1)などの各認証サーバに安全に送信される。認証サーバ106(1)は、分割キーおよびサービスプロバイダのユニークなIDを受信した後に、サービスプロバイダ104(1)に成功応答を送信する。秘密暗号化解除キーはサービスプロバイダ104(1)に留まり、認証サーバ106(1)などのいずれのその他のエンティティにも公開されない。サーバモジュール130は、秘密キーを生成し、秘密暗号化キーを分割するためのルーチンを提供する。
【0017】
クライアントコンピューティングデバイス102(1)は、クライアントモジュール140を受信する。クライアントモジュール140は、クライアントコンピュータデバイス102(1)のウェブブラウザに組み込まれるウェブブラウザのプラグインモジュールであってよい。クライアントモジュール140は、クライアントコンピューティングデバイス102(1)と各認証サーバ106(i)の間で実行される関係登録処理の間に必要とされる動作パラメータを提供する。クライアントモジュール140は、クライアントコンピューティングデバイス102(1)の揮発性または不揮発性メモリ内に直接記録することができる。
【0018】
クライアントモジュール140を取得した後、クライアントコンピューティングデバイス102(1)は、各認証サーバ106(i)への登録を開始することができる。これは、クライアントモジュール140がサービスプロバイダ104(1)〜104(n)のうちの1つまたは複数からのサービスを要求する前に行われるべきである。クライアントモジュール140と認証サーバ106(i)の間の登録プロセスは、クライアントモジュール140を使用することを伴う。クライアントコンピューティングデバイス102(1)のユーザは、関連するウェブブラウザなどのユーザインターフェースを介してクライアントモジュール140を利用してユニークなユーザ名およびパスワードを入力する。クライアントモジュール140は、ユニークなユーザ名からユニークなクライアント識別子を生成する。また、クライアントモジュール140は、クライアントモジュール140を用いて受信したユニークなユーザ名、パスワード、および認証サーバIDから、クライアントが認証サーバ106(i)への認証を行うためのクライアント認証キーを生成する。クライアント認証キーを作成するためにハッシュ関数を使用することができる。クライアントモジュール140は、クライアント認証キーおよびクライアント識別子を認証サーバ106(i)に安全に送信する。クライアント識別子およびクライアント認証キーを受信および保持した後、サーバ106(i)は、成功メッセージをクライアントコンピューティングデバイス102(1)に送信する。
【0019】
各認証サーバ106(i)への登録の後、クライアントコンピューティングデバイス102(1)は認証サーバ106(1)〜106(n)のサブセットを使用して、認証サーバ106(1)〜106(n)との関係を既に確立したサービスプロバイダ104(1)〜104(n)のうちの1つとの認証された通信を確立することができる。
【0020】
サービスプロバイダ104(1)〜104(n)のうちの1つとの認証された通信を要求する前に、クライアントコンピューティングデバイス102(1)は、当該クライアントコンピューティングデバイスに認証サービスを提供することになる認証サーバ106(1)〜106(n)のサブセットとの認証を行う。この認証処理は、その後の秘密通信のために、クライアントコンピューティングデバイス102(1)および認証サーバ106(1)〜106(n)のサブセットが使用するセッションキーを生成する。
【0021】
認証を行うために、クライアントコンピューティングデバイス102(1)のユーザは、当該サブセット内の各認証サーバ106(i)に認証要求を送信する。認証要求を行うことおよびセッションキーを生成することは、クライアントモジュール140を使用して容易になされる。各認証サーバ106(i)は、クライアントコンピューティングデバイス102(1)にナンスを送信することによって認証要求に応答する。それに応じて、クライアントコンピューティングデバイス102(1)は、認証サーバ106(i)にクライアント識別子と、クライアント認証キーを使用して暗号化された受信ナンスとを認証サーバ106(i)に送信する。暗号化は、クライアントデバイスの乱数およびクライアントデバイスのナンスも含む。クライアントデバイスの乱数およびクライアントデバイスはクライアントモジュール140によって生成される。クライアント識別子およびクライアント認証キーは上述の登録プロセス中に生成された。
【0022】
認証サーバ106(i)は、クライアント識別子を使用して、登録プロセス中に生成されたクライアント認証キーを取り出す。取り出されたクライアント認証キーを使用して、暗号化された認証サーバのナンス、クライアントデバイスの乱数、およびクライアントデバイスのナンスの暗号化を解除する。暗号化解除が成功であり、暗号化解除された認証サーバのナンスが前のプロセスにおいて認証サーバによってクライアントに送信されたナンスと一致する場合、認証サーバ106(i)は、サーバ106において生成された認証サーバの乱数と、ナンスと、クライアントデバイスのナンスとを含む暗号化をクライアント102(1)に送信する。この時点で、サーバ106およびクライアント102(1)の両方が2つの乱数を所有する。ハッシュ関数がサーバ106(i)およびクライアント102(1)によって2つの乱数に対して使用され、両端においてセッションキーを生成する。このセッションキーは、クライアントコンピューティングデバイス102(1)が選択された認証サーバのサブセット内の認証サーバ106(i)を使用してサービスプロバイダ104(1)〜104(n)のうちの1つとの認証された通信を確立するときに、クライアントコンピューティングデバイス102(1)と認証サーバ106(i)との間で安全なリンクを確立するために使用される。
【0023】
認証サーバ106(i)からセッションキーを取得した後、クライアントデバイス102(1)は、認証サーバ106(1)〜106(n)に既に登録されたサービスプロバイダ(例えば、サービスプロバイダ104(1))との認証された通信をいつでも要求できる。この要求は、クライアントコンピューティングデバイス102(1)がサービスプロバイダ104(1)にアクセス要求を送信した時点で始まる。サービスプロバイダ104(1)は、そのサービスプロバイダのユニークなIDおよびチャレンジ(例えば、サービスプロバイダのナンス)をクライアントコンピューティングデバイス102(1)に送信することによって応答する。選択的に、クライアントがサーバからの認証サービスを要求することができるように、サービスプロバイダ104(1)はそのサービスプロバイダ104(1)に既に登録されている認証サーバのリストをクライアントコンピューティングデバイス102(1)に送信してもよい。クライアントがリスト内の認証サーバと認証を行っていない場合、クライアントはそれらの認証サーバと認証を行い、それらの認証サーバのそれぞれとのその後の秘密通信のためのセッションキーを生成する。
【0024】
今やクライアントコンピューティングデバイス102(1)は、サービスプロバイダ104(1)との認証された通信を確立するために、認証サーバのサブセット内の認証サーバのそれぞれ、例えば、認証サーバ106(i)といつでも接触することができる。クライアントコンピューティングデバイス102(1)は、それぞれの認証サーバ106(i)にサービスプロバイダのユニークなIDおよびサービスプロバイダのナンスを送信する。選択的に、クライアントコンピューティングデバイス102(1)は、そのクライアントコンピューティングデバイス102(1)自体のクライアント識別子を認証サービスプロバイダ104(1)に送信してもよい。認証サーバ106(i)は、当該2つのデバイス間の前の通信からメモリ内に保持されたクライアントコンピューティングデバイス102(1)のクライアント識別子およびセッションキーも有するべきである。
【0025】
認証サーバ106(i)は、クライアント識別子、クライアントコンピューティングデバイス102(1)のIPアドレスなどのネットワークアドレス、およびサービスプロバイダのナンスをサービスプロバイダ104(1)から以前受信した分割キーを使用して暗号化する。このプロセスは、クライアントコンピューティングデバイス102(1)に伝えられる部分的な認証トークンを作成する。クライアントコンピューティングデバイス102(1)は、受信した部分的な認証トークンから認証トークンを生成し、当該認証トークンをそのクライアントコンピューティングデバイス102(1)自体のクライアント識別子と共にパッケージングし、当該パッケージをサービスプロバイダ104(1)に送信する。サービスプロバイダ104(1)は、暗号化された認証トークンをそのサービスプロバイダ104(1)の秘密暗号化解除キーを使用して暗号化解除するように試みる。暗号化解除が成功であり、暗号化解除されたナンスが認証された以前の通信においてクライアントに送信されたナンスと一致する場合、認証された通信は成功であり、サービスプロバイダのサービスに対するアクセスが許可される。サービスプロバイダ104(1)は、認証された通信が許可されるかどうかをクライアントコンピューティングデバイス102(1)に知らせる。
【0026】
検討された認証処理の利点は少なくとも以下の通りである。サービスプロバイダの秘密キーを知っているのは当該プロバイダのみである。確実に、認証サーバは秘密キーを知らず、サービスプロバイダの秘密キーを取得することは通常、万が一種々の認証サーバの間で重大な共謀が行われた場合にしか起こり得ない。クライアントコンピューティングデバイス側で、ユーザのパスワードは認証プロセス中に直接使用されない。実際、認証プロセスにおける各エンティティ、クライアントコンピューティングデバイスおよびサービスプロバイダはそれらのエンティティ自体の秘密を制御する。これは、信頼できる機関の存在が必要とされないので、ここで説明された認証処理を非常に魅力のあるものにする。信用できる機関は、多くのその他の暗号化/認証技術(例えば、PKI)と共に使用される。
【0027】
[クライアントデバイスのサービスプロバイダへのアクセス処理]
図2は、クライアントデバイス102(1)がクライアントデバイスのサービスプロバイダアクセス処理200を使用してサービスプロバイダ104(1)との認証された通信を要求する例示的な実装を示す。認証された通信が、認証サーバ106(1)〜106(n)のサブセットを使用して容易にされる。表Iは、後に続く文章において使用される表記に関する詳細を提供する。
【0028】
【表1】

【0029】
処理は、クライアントコンピューティングデバイス102(1)が通信201においてサービスプロバイダ104(1)にアクセス要求を送信したときに始まる。サービスプロバイダ104(1)は、通信202においてSID、nS
【0030】
【数1】

【0031】
、[t個の認証サーバのリスト
【0032】
【数2】

【0033】
]と共に応答し、ここで、tは認証サービスを提供するために必要とされる認証サーバの数に対する閾値である。いったん通信202を受信すると、クライアントコンピューティングデバイス102(1)は、通信204においてSID、nS
【0034】
【数3】

【0035】
、[UID]を認証サーバ106に送信する。認証サーバ106は通信206において
【0036】
【数4】

【0037】
を送信することによって応答し、ここで、UはクライアントのIPアドレス(IP Address)などのクライアントコンピューティングデバイス102(1)のネットワーク識別子である。通信206の内容は部分的な認証トークンを定義する。クライアントコンピューティングデバイス102(1)は、認証サーバとの通信206において受信した部分的な認証トークンを使用して、UIDおよび[<nSk]と共にパッケージングされてサービスプロバイダ104(1)に送信される認証トークン
【0038】
【数5】

【0039】
を生成し、ここで、
【0040】
【数6】

【0041】
である。サービスプロバイダ104(1)は、そのサービスプロバイダ104(1)の秘密暗号化解除キーKS-1を使用して、暗号化された認証トークンを暗号化解除し、ここで、
【0042】
【数7】

【0043】
mod p2である。
【0044】
上記暗号化解除、および認証トークンと共に受信した追加的な情報に基づいて、サービスプロバイダ104(1)は、通信210においてアクセス応答をクライアントコンピューティングデバイス102(1)に返送し、認証されたアクセスが許可されるかどうかを指示する。認証された通信中の
【0045】
【数8】

【0046】
における生成元(g)の選択的な使用は、認証されたセッションが確立された後に、クライアントコンピューティングデバイス102(1)とサービスプロバイダ104(1)との間のその後の安全な通信のために使用されるセッションキーを生成する方法を提供する。
【0047】
通信204および206は、クライアントコンピューティングデバイス102(1)および認証サーバ106(i)の間で生成されたセッションキーを使用することにより安全である。クライアントコンピューティングデバイス102(1)および認証サーバ106(i)はそれぞれセッションキーを所有している。そのようなセッションキーの作成の詳細は後で説明される。
【0048】
検討された様々な通信は、クライアントモジュール140およびサーバモジュール130を使用して容易にされる。しかし、様々な通信および命令は、そのような通信および命令を実行し、それによって記載のクライアントデバイスのサービスプロバイダへのアクセス処理/方法を提供することを可能にする任意のデバイスによって実行することができる。
【0049】
[サービスプロバイダ登録処理]
図3は、サービスプロバイダ104(1)がサービスプロバイダ登録処理300を使用して認証サーバ106(i)に登録する例示的な実装を示す。サービスプロバイダ登録処理300は、サービスプロバイダが認証サーバによって提供される認証サービスから利益を受けることができる前に実行される。上記表Iは、後に続く文章において使用される表記に関する詳細を提供する。
【0050】
処理が開始する前に、サービスプロバイダ104(1)はサーバモジュール130をダウンロードおよびインストールする。この実装におけるサーバモジュール130は、サービスプロバイダ104(1)が認証に関連する要求と、認証サーバ106(i)への、および認証サーバ106(i)からの通信とを処理することを可能にする機能を提供する。処理は、サービスプロバイダ104(1)がサービスプロバイダの登録を要求する通信302を認証サーバ106(i)に送信するときに開始する。認証サーバ106(i)は、その認証サーバ106(i)が登録をいつでも受け付けることができることをサービスプロバイダ104(1)に知らせる通信304によって応答する。
【0051】
サービスプロバイダ104(1)はサーバモジュール130を使用して、図3に示されたサービスプロバイダ登録処理を完了する。サービスプロバイダ104(1)は、秘密キーKS(1≦KS≦p2−2)を生成し、KS-1S=KSS-1=1 mod (p2−1)であるようにKS-1を計算する。次に、サービスプロバイダ104(1)は、(t,n)閾値法を使用してKSをn個の分割キー部分
【0052】
【数9】

【0053】
に分割する。これらの分割キー
【0054】
【数10】

【0055】
のうちの1つとSIDとが、安全な通信306において各認証サーバ106(i)に送信される。認証サーバ106(i)は、図2に関連して検討されたクライアントデバイスのサービスプロバイダアクセス処理200の間に使用するために分割キー
【0056】
【数11】

【0057】
およびSIDを記録する。分割キー
【0058】
【数12】

【0059】
およびSIDを受信および記録した後、認証サーバ106(i)は、通信308においてサービスプロバイダ104(1)に成功応答を送信する。
【0060】
検討された様々な通信は、サーバモジュール130を使用して容易にされる。しかし、様々な通信および命令は、そのような通信および命令を実行可能な任意のデバイスによって実行されてもよく、それによって記載のサービスプロバイダ登録処理/方法を提供する。
【0061】
[クライアントデバイス登録処理]
図4は、クライアントコンピューティングデバイス102(1)がクライアントデバイス登録処理400を使用して各認証サーバ106(i)に登録する例示的な実装を示す。クライアントデバイス登録処理400は、クライアントコンピューティングデバイスが認証サーバによって提供される認証サービスから利益を受けることができる前に実行される。上記表Iは、後に続く文章において使用される表記に関する詳細を提供する。
【0062】
処理が開始する前に、クライアントコンピューティングデバイス102(1)はクライアントモジュール140をダウンロードおよびインストールする。この実装においてクライアントモジュール140は、クライアントコンピューティングデバイス102(1)が各認証サーバ106(i)への、および各認証サーバ106(i)からの通信を処理することを可能にする機能を提供する。処理は、クライアントコンピューティングデバイス102(1)が、クライアントコンピューティングデバイスの登録を要求する通信402を認証サーバ106(i)に送信するときに開始する。認証サーバ106(i)は、その認証サーバ106(i)が登録をいつでも受け付けることができることをクライアントコンピューティングデバイス102(1)に知らせる通信404によって応答する。
【0063】
クライアントコンピューティングデバイス102(1)はクライアントモジュール140を使用して、クライアントコンピューティングデバイス102(1)のユーザによって入力されたユーザ名からユニークなクライアントIDであるUIDを作成する。UIDは、ユーザ名をハッシュすることによって、またはユーザ名の部分をハッシュすることによって作成されてもよい。ユーザ名からユニークなクライアントIDであるUIDを生成する別のプロセスが使用されてもよい。クライアントコンピューティングデバイス102(1)はその後、クライアントモジュール140を使用して、図5に示された認証サーバ106(i)とのクライアントコンピューティングデバイス認証処理500において使用されることになるクライアントキー
【0064】
【数13】

【0065】
(1≦i≦n)を作成する。クライアントキーは、ユーザ名のみを使用して作成することもできる。AIDiは、i番目の認証サーバ、この場合は認証サーバ106(i)を特定する。
【0066】
クライアントコンピューティングデバイス102(1)は、安全な通信406を介して認証サーバ106(i)にUID、
【0067】
【数14】

【0068】
、Ai(1≦i≦n)を送信する。認証サーバ106は、後で使用するためにユニークなクライアントIDであるUID、およびクライアントキー
【0069】
【数15】

【0070】
を保存する。具体的には、認証サーバは、クライアントコンピューティングデバイス102(1)がサービスプロバイダとの認証通信を要求するときに、ユニークなクライアントIDであるUID、およびクライアントキー
【0071】
【数16】

【0072】
を使用する。サービスプロバイダとの認証のプロセスは通常、クライアントコンピューティングデバイス102(1)と認証サーバ106(i)の間の安全な通信を必要とし、ユニークなクライアントIDであるUID、およびクライアントキー
【0073】
【数17】

【0074】
はこの目的のために使用されるセッションキーの生成を容易にする。
【0075】
検討された様々な通信が、クライアントモジュール140を使用して容易になされる。しかし、様々な通信および命令は、そのような通信および命令を実行可能な任意のデバイスによって実行されてもよく、それによって記載のクライアントコンピューティングデバイス登録処理/方法を提供する。
【0076】
[クライアントデバイス認証処理]
図5は、クライアントコンピューティングデバイス102(1)がクライアントコンピューティングデバイス認証処理500を使用して認証サーバ106(i)との認証を行う例示的な実装を示す。クライアントコンピューティングデバイス認証処理500は、クライアントコンピューティングデバイス102(1)を認証サーバ106(i)によって認証するために、およびクライアントデバイスがサービスプロバイダとの認証された通信を確立するように試みている間にクライアントコンピューティングデバイスおよび認証サーバによって使用されるセッションキーを生成するために実行される。上記表Iは、後に続く文章において使用される表記に関する詳細を提供する。
【0077】
処理は、クライアントコンピューティングデバイス102(1)が、認証を要求する通信502を認証サーバ106(i)に送信するときに開始する。認証サーバ106(i)は、ナンス
【0078】
【数18】

【0079】
を含む通信504によって応答する。クライアントコンピューティングデバイス102(1)は、クライアントモジュール140の支援の下に、ユニークなクライアントIDであるUID、および暗号化
【0080】
【数19】

【0081】
を含む通信506によって応答する。認証サーバ106(i)は、以前の通信において受信されたクライアントキー
【0082】
【数20】

【0083】
を使用して暗号化
【0084】
【数21】

【0085】
を暗号化解除するように試みる。暗号化解除が成功であり、暗号化解除されたナンスが以前のプロセスにおいてクライアントに送信されたナンス
【0086】
【数22】

【0087】
と一致する場合、認証サーバ106(i)は、
【0088】
【数23】

【0089】
または失敗メッセージを含む通信508をクライアントコンピューティングデバイス102(1)に送信する。
【0090】
この時点で、クライアントコンピューティングデバイス102(1)および認証サーバ106の両方が乱数値
【0091】
【数24】

【0092】
を有する。これらの乱数値を使用して、クライアントコンピューティングデバイス102(1)および認証サーバ106(i)の両方がセッションキー
【0093】
【数25】

【0094】
を計算する。このセッションキーは、クライアントコンピューティングデバイス102(1)がサービスプロバイダとの認証された通信を要求するために認証サーバ106(i)に接触するときに使用される。サービスプロバイダとの認証された通信を確立することに関連するセッションキーの使用は、この文書の前の部分で詳細に検討されている。
【0095】
検討された様々な通信は、クライアントモジュール140を使用して容易にされる。しかし、様々な通信および命令は、そのような通信および命令を実行可能な任意のデバイスによって実行されてもよく、それによって記載のクライアントコンピューティング認証処理/方法を提供する。
【0096】
[例示的コンピューティングデバイス]
図6〜8は、説明された処理および方法を実装するために使用できる例示的なコンピューティングデバイスを示す。図6は、サービスプロバイダ104(1)の例示的な実装を示し、図7は、クライアントコンピューティングデバイス102(1)の例示的な実装を示し、図8は、コンピューティングデバイス800の例示的な実装を示す。認証サーバ106(i)などの認証サーバは、コンピューティングデバイス800に関連して説明される動作要素を使用することができる。これは、ここで検討されるクライアントコンピューティングデバイスおよびサービスプロバイダにも当てはまる。
【0097】
図6は、サービスプロバイダ104(1)を実装するために使用できる例示的なコンピューティングデバイスである。ごく基本的な構成において、コンピューティングデバイスは、少なくとも1つの処理ユニット604、およびシステムメモリ606を含む。コンピューティングデバイス600の正確な構成および種類に応じて、システムメモリ606を揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)、またはこれら2つの何らかの組合せとすることができる。システムメモリ606は通常、オペレーティングシステム608と、1つまたは複数のプログラムモジュール610とを含み、プログラムデータ612を含むことができる。プログラムモジュール610のうちの少なくとも1つは、サーバモジュール130を含む。
【0098】
コンピューティングデバイスは、追加的な特徴または機能を有してもよい。例えば、コンピューティングデバイスには、例えば、磁気ディスク、光ディスク、またはテープなどの(取外し可能および/または取外し不可能な)追加的なデータ記録装置も含まれうる。コンピュータ記録媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記録するための任意の方法または技術で実装された揮発性および不揮発性の取外し可能および取外し不可能な媒体が含まれうる。システムメモリ606はコンピュータ記録媒体の一例である。したがって、コンピュータ記録媒体は、RAM、ROM、EEPROM、フラッシュメモリ、もしくはその他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)、もしくはその他の光学式記録装置、磁気カセット、磁気テープ、磁気ディスク記録装置、もしくはその他の磁気記録装置、または所望の情報を記録するために使用可能でコンピューティングデバイスによってアクセス可能な任意のその他の媒体を含むが、これらに限定されない。任意のそのようなコンピュータ記録媒体は、デバイスの一部であってもよい。コンピューティングデバイスは、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの(1つまたは複数の)入力デバイスも有することもできる。ディスプレイ、スピーカ、プリンタなどの(1つまたは複数の)出力デバイスも含むことができる。これらのデバイスは当技術分野においてよく知られており、詳細に検討/説明される必要はない。
【0099】
コンピューティングデバイスは、ネットワークを介するなど、当該デバイスがその他のコンピューティングデバイスと通信することを可能にする通信接続も含むことができる。そのようなネットワークが図1のネットワーク120として示される。(1つまたは複数の)通信接続は、通信媒体の一例である。通信媒体は通常、搬送波またはその他の搬送メカニズムなどの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって具現化することができ、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、その信号の特徴のうちの1つまたは複数を、信号中に情報を符号化するようなやり方で設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続(direct−wired connection)などの有線媒体、ならびに音響、RF、赤外線、およびその他の無線媒体などの無線媒体を含む。コンピュータ可読媒体をコンピュータがアクセス可能な任意の利用可能な媒体とすることができる。限定でなく例として、コンピュータ可読媒体には、「コンピュータ記録媒体」および「通信媒体」が含まれる可能性がある。
【0100】
様々なモジュールおよび技術が、1つまたは複数のコンピュータまたはその他のデバイスによって実行されるプログラムモジュールなどのコンピュータが実行可能な命令の一般的な文脈でここに説明されているかもしれない。概して、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのプログラムモジュール等は、ネイティブコードとして実行されても、バーチャルマシンもしくはその他のジャストインタイムコンパイル実行環境などにダウンロードされて実行されてもよい。通常、プログラムモジュールの機能は、種々の実施形態において要求に応じて組み合わされ、または分散されてもよい。これらのモジュールおよび技術の実装は、何らかの形態のコンピュータ可読媒体に記録されても、何らかの形態のコンピュータ可読媒体を介して伝達されてもよい。
【0101】
図7は、クライアントコンピューティングデバイス102(1)を実装するために使用できる例示的なコンピューティングデバイスである。ごく基本的な構成において、コンピューティングデバイスは、少なくとも1つの処理ユニット704、およびシステムメモリ706を含む。コンピューティングデバイス700の正確な構成および種類に応じて、システムメモリ706は、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)、またはこれら2つの何らかの組合せであってもよい。システムメモリ706は通常、オペレーティングシステム708と1つまたは複数のプログラムモジュール710とを含み、プログラムデータ712を含むことができる。プログラムモジュール710のうちの少なくとも1つは、クライアントモジュール140を含む。
【0102】
コンピューティングデバイスは、追加的な特徴または機能を有してもよい。例えば、コンピューティングデバイスは、例えば、磁気ディスク、光ディスク、またはテープなどの(取外し可能および/または取外し不可能な)追加的なデータ記録装置も含む可能性がある。コンピュータ記録媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記録するための任意の方法または技術で実装された揮発性および不揮発性の取外し可能および取外し不可能な媒体を含む可能性がある。システムメモリ706はコンピュータ記録媒体の一例である。したがって、コンピュータ記録媒体には、RAM、ROM、EEPROM、フラッシュメモリ、もしくはその他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)、もしくはその他の光学式記録装置、磁気カセット、磁気テープ、磁気ディスク記録装置、もしくはその他の磁気記録装置、または所望の情報を記録するために使用可能でコンピューティングデバイスによってアクセス可能な任意のその他の媒体が含まれるが、これらに限定されない。任意のそのようなコンピュータ記録媒体は、デバイスの一部であってもよい。コンピューティングデバイスは、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの(1つまたは複数の)入力デバイスも有することもできる。ディスプレイ、スピーカ、プリンタなどの(1つまたは複数の)出力デバイスも含むことができる。これらのデバイスは当技術分野においてよく知られており、詳細に検討/説明される必要はない。
【0103】
コンピューティングデバイスは、ネットワークを介するなど、当該デバイスがその他のコンピューティングデバイスと通信することを可能にする通信接続も含むことができる。そのようなネットワークが図1のネットワーク120として示される。(1つまたは複数の)通信接続は通信媒体の一例である。通信媒体は通常、搬送波またはその他の搬送メカニズムなどの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって具現化されることができ、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、その信号の特徴のうちの1つまたは複数を、信号中に情報を符号化するようなやり方で設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、RF、赤外線、およびその他の無線媒体などの無線媒体を含む。コンピュータ可読媒体をコンピュータがアクセス可能な任意の利用可能な媒体とすることができる。限定でなく例として、コンピュータ可読媒体には、「コンピュータ記録媒体」および「通信媒体」が含まれる可能性がある。
【0104】
様々なモジュールおよび技術が、1つまたは複数のコンピュータまたはその他のデバイスによって実行されるプログラムモジュールなどのコンピュータが実行可能な命令の一般的な文脈でここに説明されているかもしれない。概して、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのプログラムモジュール等は、ネイティブコードとして実行されても、バーチャルマシンもしくはその他のジャストインタイムコンパイル実行環境などにダウンロードされて実行されてもよい。通常、プログラムモジュールの機能は、種々の実施形態において要求に応じて組み合わされ、または分散されてもよい。これらのモジュールおよび技術の実装は、何らかの形態のコンピュータ可読媒体に記録されても、何らかの形態のコンピュータ可読媒体を介して伝達されてもよい。
【0105】
図8は、認証サーバ、または本明細書において説明された任意のその他のコンピューティングデバイスを実装するために使用可能な例示的なコンピューティングデバイス800である。ごく基本的な構成において、コンピューティングデバイス800は、少なくとも1つの処理ユニット804、およびシステムメモリ806を含む。コンピューティングデバイス800の正確な構成および種類に応じて、システムメモリ806は、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)、またはこれら2つの何らかの組合せであっても良い。システムメモリ806は通常、オペレーティングシステム808と、1つまたは複数のプログラムモジュール810とを含み、プログラムデータ812を含むことができる。
【0106】
コンピューティングデバイス800は、追加的な特徴または機能を有してもよい。例えば、コンピューティングデバイス800は、例えば、磁気ディスク、光ディスク、またはテープなどの(取外し可能および/または取外し不可能な)追加的なデータ記録装置も含む可能性がある。そのような追加的な記録装置が、取外し可能な記録装置820および取外し不可能な記録装置822によって図8に示される。コンピュータ記録媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記録するための任意の方法または技術で実装された揮発性および不揮発性の取外し可能および取外し不可能な媒体を含む可能性がある。システムメモリ806、取外し可能な記録装置820、および取外し不可能な記録装置822は全てコンピュータ記録媒体の例である。したがって、コンピュータ記録媒体は、RAM、ROM、EEPROM、フラッシュメモリ、もしくはその他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)、もしくはその他の光学式記録装置、磁気カセット、磁気テープ、磁気ディスク記録装置、もしくはその他の磁気記録装置、または所望の情報を記録するために使用されることができ、コンピューティングデバイス800によってアクセス可能な任意のその他の媒体を含むがこれらに限定されない。任意のそのようなコンピュータ記録媒体はデバイス800の一部であってもよい。コンピューティングデバイス800は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの(1つまたは複数の)入力デバイス824も有することができる。ディスプレイ、スピーカ、プリンタなどの(1つまたは複数の)出力デバイス826も含まれることができる。これらのデバイスは当技術分野においてよく知られており、詳細に検討される必要はない。
【0107】
コンピューティングデバイス800は、ネットワークを介するなど、当該デバイスがその他のコンピューティングデバイス830と通信することを可能にする通信接続828も含むことができる。そのようなネットワークが図1のネットワーク120として示される。(1つまたは複数の)通信接続828は通信媒体の一例である。概して、通信媒体は、搬送波またはその他の搬送メカニズムなどの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって具現化されることができ、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、その信号の特徴のうちの1つまたは複数を、信号中に情報を符号化するようなやり方で設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、RF、赤外線、およびその他の無線媒体などの無線媒体を含む。コンピュータ可読媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体であることができる。限定でなく例として、コンピュータ可読媒体は、「コンピュータ記録媒体」および「通信媒体」を含む可能性がある。
【0108】
様々なモジュールおよび技術が、1つまたは複数のコンピュータまたはその他のデバイスによって実行されるプログラムモジュールなどのコンピュータが実行可能な命令の一般的な文脈でここに説明されているかもしれない。概して、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのプログラムモジュールなどは、ネイティブコードとして実行されても、またはバーチャルマシンもしくはその他のジャストインタイムコンパイル実行環境などにダウンロードされて実行されてもよい。通常、プログラムモジュールの機能は、種々の実施形態において要求に応じて組み合わされ、または分散されてもよい。これらのモジュールおよび技術の実装は、何らかの形態のコンピュータ可読媒体に記録されても、何らかの形態のコンピュータ可読媒体を介して伝達されてもよい。
【0109】
実施形態の例が示され、説明されたが、本発明は上述の厳密な構成およびリソースに限定されないことを理解されたい。当業者に明らかな種々の修正、変更、および変形が、特許請求の範囲に記載された発明の範囲を逸脱することなしに、ここに開示された実施形態の構成、動作、および詳細においてなされることができる。
【図面の簡単な説明】
【0110】
【図1】1つまたは複数のサービスプロバイダと通信可能ないくつかのクライアントコンピューティングデバイスを含むコンピュータネットワーク環境の例示的な実装を示す図である。
【図2】クライアントデバイスがクライアントデバイスのサービスプロバイダアクセス処理を使用してサービスプロバイダとの認証された通信を要求する例示的な実装を示す図である。
【図3】サービスプロバイダがサービスプロバイダ登録処理を使用して認証サーバに登録する例示的な実装を示す図である。
【図4】クライアントコンピューティングデバイスがクライアントデバイス登録処理を使用して認証サーバに登録する例示的な実装を示す図である。
【図5】クライアントコンピューティングデバイスがクライアントコンピューティングデバイス登録処理を使用して認証サーバとの認証を行う例示的な実装を示す図である。
【図6】サービスプロバイダを実装するために使用可能な例示的なコンピューティングデバイスの図である。
【図7】クライアントコンピューティングデバイスを実装するために使用可能な例示的なコンピューティングデバイスの図である。
【図8】認証サーバを実装するために使用可能な例示的なコンピューティングデバイスの図である。

【特許請求の範囲】
【請求項1】
少なくともクライアント識別子、および複数の部分的な認証トークンから得られた暗号化された認証トークンを含む認証要求(208)を受信するステップと、
前記暗号化された認証トークンを秘密キーを使用して暗号化解除を試みるステップと、
前記秘密キーを用いて暗号化解除が可能であり、前記暗号化された認証トークンの暗号化解除された内容を取得可能な場合に、認証された通信を許可するステップと
を有することを特徴とする方法。
【請求項2】
前記暗号化された認証トークンは、クライアント識別子およびチャレンジを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記クライアント識別子は、サービスプロバイダ(104(n))との認証された通信を望んでいるクライアントデバイス(102(n))を特定することを特徴とする請求項2に記載の方法。
【請求項4】
前記チャレンジは、前記暗号化された認証トークンを暗号化解除するように試みるサービスプロバイダ(104(n))によって供給されることを特徴とする請求項2に記載の方法。
【請求項5】
前記暗号化された認証トークンは、クライアントデバイス(102(n))のネットワークアドレスをさらに含むことを特徴とする請求項1に記載の方法。
【請求項6】
プロセッサ(604)をプログラミングすることに使用するための製品であって、前記プロセッサ(604)に請求項1に記載の方法を実行させることを組み込んだ少なくとも1つのコンピュータプログラム(130)を含む少なくとも1つのコンピュータが読み取り可能な記録装置(606)を備えることを特徴とする製品。
【請求項7】
プロセッサ(604)と、
請求項1に記載の方法を実行することができる少なくとも1つのコンピュータが実行可能なコンポーネント(130)を有するメモリ(606)と
を備えることを特徴とする通信デバイス。
【請求項8】
安全なセッション(508)が前の処理において確立されなかった場合にセッションキーを用いてそのような安全なセッション(508)を確立するステップと、
サービスプロバイダ(104(n))によって供給されたサービスプロバイダIDおよびチャレンジを受信するステップと、
エンティティのユニークなID、前記エンティティのネットワークアドレス、およびサービスプロバイダ(104(n))によって供給された前記チャレンジを、暗号化キーの保有者(106(i))によって知られていない秘密キーから得られた前記暗号化キーを用いて暗号化するステップと、
前記サービスプロバイダ(104(n))に対するアクセスを試みるときに使用可能な前記暗号化を前記エンティティ(102(n))に提供するステップと
を備えることを特徴とする方法。
【請求項9】
前記セッションキーは、認証キーから生成され、前記認証キーは認証を望んでいる前記エンティティ(102(n))のログイン証明物、および認証サーバ(106(i))のIDから得られることを特徴とする請求項8に記載の方法。
【請求項10】
前記ログイン証明物は、パスワードおよびユーザ名を含むことを特徴とする請求項9に記載の方法。
【請求項11】
認証を望んでいるエンティティ(102(n))の前記ユニークなIDは、少なくとも前記エンティティのログイン名から得られることを特徴とする請求項8に記載の方法。
【請求項12】
認証を望んでいる前記エンティティ(102(n))の前記認証キーおよび前記ユニークなIDは、安全なセッションを確立する認証処理の間に、認証を望んでいる前記エンティティ(102(n))のモジュール(140)によって生成され、前記認証キーおよび前記ユニークなIDは前の処理において認証に知らされ、前記認証によって保存されることを特徴とする請求項9に記載の方法。
【請求項13】
暗号化するステップは、アイテム(item)、またはアイテムの署名を暗号化するステップをさらに含み、前記アイテムはその後の安全な通信のための別のセッションキーを生成するために使用されることを特徴とする請求項8に記載の方法。
【請求項14】
受信するステップは、アイテムを受信するステップをさらに含み、前記アイテムはその後の安全な通信のための別のセッションキーを生成するために使用されることを特徴とする請求項8に記載の方法。
【請求項15】
プロセッサ(604、704、804)をプログラミングすることに使用するための製品であって、前記プロセッサ(604、704、804)に請求項8に記載の方法を実行させることを組み込んだ少なくとも1つのコンピュータプログラム(610、710、810)を含む少なくとも1つのコンピュータが読み取り可能な記録装置(606、706、806)を備えることを特徴とする製品。
【請求項16】
サービスプロバイダ(104(n))との認証された通信を要求する認証要求を複数の認証サーバ(106(i))において受信するステップと、
各認証サーバ(106(i))が部分的な認証トークンを提供するステップとを含み、複数の前記部分的な認証トークンは、前記サービスプロバイダ(104(n))との認証された通信を達成するために使用される認証トークンを生成するために一緒に使用可能であることを特徴とする方法。
【請求項17】
各認証サーバ(106(i))は、前記サービスプロバイダ(104(n))によって生成された秘密キーから得られた分割キーを使用して部分的な認証トークンを暗号化することを特徴とする請求項16に記載の方法。
【請求項18】
秘密キーから分割キーを生成するために閾値法が使用されることを特徴とする請求項17に記載の方法。
【請求項19】
前記認証要求は、前記サービスプロバイダ(104(n))によって供給されたサービスプロバイダIDおよびチャレンジを含み、前記サービスプロバイダIDは前記サービスプロバイダ(104(n))に関連することを特徴とする請求項16に記載の方法。
【請求項20】
各部分的な認証トークンは、前記サービスプロバイダ(104(n))との認証された通信を要求するエンティティのID、前記エンティティ(102(n))のネットワークアドレス、および前記サービスプロバイダ(104(n))によって供給されたチャレンジを含むことを特徴とする請求項16に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2009−505308(P2009−505308A)
【公表日】平成21年2月5日(2009.2.5)
【国際特許分類】
【出願番号】特願2008−527997(P2008−527997)
【出願日】平成18年8月16日(2006.8.16)
【国際出願番号】PCT/US2006/032156
【国際公開番号】WO2007/024626
【国際公開日】平成19年3月1日(2007.3.1)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】