(57)【要約】  記載の実装は、クライアントコンピューティングデバイスとサービスプロバイダの間の認証された通信を確立することに関する。１つの実装において、いったん登録処理が完了すると、複数の認証サーバが、認証された通信セッションの確立を容易にするためにクライアントコンピューティングデバイスおよびサービスプロバイダによって使用される。しかしながら、認証サーバは必ずしも信頼できる機関である必要はない。すなわち、種々の記載のデバイスの秘密は互いに対して明かされない。
2009505308.tif 000002
【特許請求の範囲】
【請求項１】
少なくともクライアント識別子、および複数の部分的な認証トークンから得られた暗号化された認証トークンを含む認証要求（２０８）を受信するステップと、
前記暗号化された認証トークンを秘密キーを使用して暗号化解除を試みるステップと、
前記秘密キーを用いて暗号化解除が可能であり、前記暗号化された認証トークンの暗号化解除された内容を取得可能な場合に、認証された通信を許可するステップと
を有することを特徴とする方法。
【請求項２】
前記暗号化された認証トークンは、クライアント識別子およびチャレンジを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記クライアント識別子は、サービスプロバイダ（１０４（ｎ））との認証された通信を望んでいるクライアントデバイス（１０２（ｎ））を特定することを特徴とする請求項２に記載の方法。
【請求項４】
前記チャレンジは、前記暗号化された認証トークンを暗号化解除するように試みるサービスプロバイダ（１０４（ｎ））によって供給されることを特徴とする請求項２に記載の方法。
【請求項５】
前記暗号化された認証トークンは、クライアントデバイス（１０２（ｎ））のネットワークアドレスをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
プロセッサ（６０４）をプログラミングすることに使用するための製品であって、前記プロセッサ（６０４）に請求項１に記載の方法を実行させることを組み込んだ少なくとも１つのコンピュータプログラム（１３０）を含む少なくとも１つのコンピュータが読み取り可能な記録装置（６０６）を備えることを特徴とする製品。
【請求項７】
プロセッサ（６０４）と、
請求項１に記載の方法を実行することができる少なくとも１つのコンピュータが実行可能なコンポーネント（１３０）を有するメモリ（６０６）と
を備えることを特徴とする通信デバイス。
【請求項８】
安全なセッション（５０８）が前の処理において確立されなかった場合にセッションキーを用いてそのような安全なセッション（５０８）を確立するステップと、
サービスプロバイダ（１０４（ｎ））によって供給されたサービスプロバイダＩＤおよびチャレンジを受信するステップと、
エンティティのユニークなＩＤ、前記エンティティのネットワークアドレス、およびサービスプロバイダ（１０４（ｎ））によって供給された前記チャレンジを、暗号化キーの保有者（１０６（ｉ））によって知られていない秘密キーから得られた前記暗号化キーを用いて暗号化するステップと、
前記サービスプロバイダ（１０４（ｎ））に対するアクセスを試みるときに使用可能な前記暗号化を前記エンティティ（１０２（ｎ））に提供するステップと
を備えることを特徴とする方法。
【請求項９】
前記セッションキーは、認証キーから生成され、前記認証キーは認証を望んでいる前記エンティティ（１０２（ｎ））のログイン証明物、および認証サーバ（１０６（ｉ））のＩＤから得られることを特徴とする請求項８に記載の方法。
【請求項１０】
前記ログイン証明物は、パスワードおよびユーザ名を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
認証を望んでいるエンティティ（１０２（ｎ））の前記ユニークなＩＤは、少なくとも前記エンティティのログイン名から得られることを特徴とする請求項８に記載の方法。
【請求項１２】
認証を望んでいる前記エンティティ（１０２（ｎ））の前記認証キーおよび前記ユニークなＩＤは、安全なセッションを確立する認証処理の間に、認証を望んでいる前記エンティティ（１０２（ｎ））のモジュール（１４０）によって生成され、前記認証キーおよび前記ユニークなＩＤは前の処理において認証に知らされ、前記認証によって保存されることを特徴とする請求項９に記載の方法。
【請求項１３】
暗号化するステップは、アイテム（ｉｔｅｍ）、またはアイテムの署名を暗号化するステップをさらに含み、前記アイテムはその後の安全な通信のための別のセッションキーを生成するために使用されることを特徴とする請求項８に記載の方法。
【請求項１４】
受信するステップは、アイテムを受信するステップをさらに含み、前記アイテムはその後の安全な通信のための別のセッションキーを生成するために使用されることを特徴とする請求項８に記載の方法。
【請求項１５】
プロセッサ（６０４、７０４、８０４）をプログラミングすることに使用するための製品であって、前記プロセッサ（６０４、７０４、８０４）に請求項８に記載の方法を実行させることを組み込んだ少なくとも１つのコンピュータプログラム（６１０、７１０、８１０）を含む少なくとも１つのコンピュータが読み取り可能な記録装置（６０６、７０６、８０６）を備えることを特徴とする製品。
【請求項１６】
サービスプロバイダ（１０４（ｎ））との認証された通信を要求する認証要求を複数の認証サーバ（１０６（ｉ））において受信するステップと、
各認証サーバ（１０６（ｉ））が部分的な認証トークンを提供するステップとを含み、複数の前記部分的な認証トークンは、前記サービスプロバイダ（１０４（ｎ））との認証された通信を達成するために使用される認証トークンを生成するために一緒に使用可能であることを特徴とする方法。
【請求項１７】
各認証サーバ（１０６（ｉ））は、前記サービスプロバイダ（１０４（ｎ））によって生成された秘密キーから得られた分割キーを使用して部分的な認証トークンを暗号化することを特徴とする請求項１６に記載の方法。
【請求項１８】
秘密キーから分割キーを生成するために閾値法が使用されることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記認証要求は、前記サービスプロバイダ（１０４（ｎ））によって供給されたサービスプロバイダＩＤおよびチャレンジを含み、前記サービスプロバイダＩＤは前記サービスプロバイダ（１０４（ｎ））に関連することを特徴とする請求項１６に記載の方法。
【請求項２０】
各部分的な認証トークンは、前記サービスプロバイダ（１０４（ｎ））との認証された通信を要求するエンティティのＩＤ、前記エンティティ（１０２（ｎ））のネットワークアドレス、および前記サービスプロバイダ（１０４（ｎ））によって供給されたチャレンジを含むことを特徴とする請求項１６に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
オンラインユーザは、概して、そのユーザがアクセスする権限を与えられる各サービスプロバイダ用の一連の認証証明物（例えば、ユーザ名およびパスワード）を維持することが要求される。これらのユーザは、高レベルのセキュリティを保つためにそれぞれの個々のサービスプロバイダ用に異なる認証証明物を使用するか、または低下したレベルのセキュリティをもたらす様々なサービスプロバイダに対する同一の認証証明物を使用するかのジレンマに直面することが多くある。多数の認証証明物を記録および維持することが難しいので前者よりも後者が選択されることが多い。さらに、セキュリティの影響は別として、サービスプロバイダに対してアクセスする度にユーザに認証証明物を入力するように要求することが必要となるのは、概して不便で時間がかかる手続きである。
【０００２】
様々なオンラインサービスに対するアクセスを提供する認証証明物の複数の組を維持する必要を減らすかまたはなくすために様々な従来技術が提案されてきた。そのような技術の１つは、加入しているサービスプロバイダに対する認証サービスを提供する集中的な証明物管理を利用する。ユーザが最初に集中的な証明物管理と関係を確立し、認証を行った後で、集中的な証明物管理は、その後ユーザが加入しているサービスプロバイダのうちのいずれかに対するアクセスを要求するときに認証プロセスを管理する。この技術は、多数のサービスプロバイダのアクセスを要求しなければならないという複雑性を著しく減らす。高レベルのユーザのセキュリティが維持されながら、集中的な証明物管理は加入している様々なサービスプロバイダとの認証の詳細を透過的に処理する。
【０００３】
現在の通常の集中的な証明物管理技術は、全てのオンライン環境に適している訳ではない。ある通常の集中的な証明物管理技術は、ユーザに認証サーバと認証を行うように要求する。認証の後、認証サーバは認証チケットをユーザに発行する。認証チケットは、サービスアクセスチケット（ｓｅｒｖｉｃｅ  ａｃｃｅｓｓ  ｔｉｃｋｅｔｓ）を発行するサーバにアクセスするためにユーザによって使用される。このサーバは、認証チケットが有効である場合にサービスアクセスチケットをユーザに発行する。ユーザはその後、サービスアクセスチケットを使用してサービスプロバイダにアクセスすることができる。
【０００４】
説明された通常の集中的な証明物管理技術は、サービスプロバイダが集中的に維持される場合に安全なアクセス機能を提供する。しかし、サービスプロバイダがインターネットなどの、多数の異なるユーザ／エンティティを有するネットワークの一部である場合にはサービスプロバイダに対する安全なアクセスは危険にさらされる。
【０００５】
別の従来の認証技術は、登録ユーザおよびそれらの登録ユーザの関連する認証証明物を含む集中的なデータベースを使用する。登録ユーザのそれぞれはユニークな６４ビットのＩＤ番号を有する。この従来の認証技術は、加入しているそれぞれのサービスプロバイダにもユニークなＩＤを割り当てる。これらのユニークなＩＤは集中的なデータベースにも保持される。加入しているサービスプロバイダは、集中的なデータベースを管理するエンティティとの安全な通信を容易にするサーバコンポーネントを実装することに同意する。登録ユーザが加入しているサービスプロバイダと認証を行うように試みるとき、ユーザは認証を容易にするための管理エンティティに透過的にリダイレクトされる。加入しているサービスプロバイダと管理エンティティとの間の実装された安全な通信経路は、許可された認証要求を確実にすることを支援する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述の認証技術は安全なウェブベースの認証を提供する。しかし、当該技術はインターネットコミュニティによって広く採用されてこなかった。これは、当該技術の集中的なデータベースの設計の特徴が主な原因である。一部のサービスプロバイダは、集中データベースが使用されるので当該技術を容認しない。具体的には、サービスプロバイダは、ユーザ認証の成功を保証するために、集中的なデータベースを管理するエンティティに頼らなければならない。当該エンティティが技術的な困難を経験する場合、ユーザ認証が途絶されることがある。サービスプロバイダが制御できないこの途絶の可能性は、サービスプロバイダが進んで冒したくはないリスクとなる場合がある。さらに、集中的なデータベースの使用は、この認証技術をハッカーおよびマルウェアからの攻撃を特に受けやすくする。
【課題を解決するための手段】
【０００７】
ここに説明される実装は、クライアントコンピューティングデバイスとサービスプロバイダの間の認証された通信を確立することに関する。通信が、クライアントコンピューティングデバイスおよびサービスプロバイダの秘密を保持する信頼された機関の使用なしに可能となる。
【０００８】
登録プロセスの後、クライアントコンピューティングデバイスは、認証サーバを使用してサービスプロバイダとの認証された通信を要求する。クライアントコンピューティングデバイスは、そのクライアントコンピューティングデバイスが登録されている複数の認証サーバの任意の集合（この集合内のサーバの数は閾値以上である。）を使用して、サービスプロバイダとの認証された通信を要求することができる。サービスプロバイダも同様に、クライアントコンピューティングデバイスが認証された通信を確立するために使用する認証サーバに登録されるべきである。
【０００９】
クライアントコンピューティングデバイスは、そのクライアントコンピューティングデバイスのユニークな識別ＩＤを含む認証要求並びに、ユニークな識別ＩＤ、デバイスのＩＰアドレスなどのネットワークアドレス、およびナンスを含む暗号化された認証トークンをサービスプロバイダに送信することができる。暗号化された認証トークンは、認証サーバとの以前の通信で受信したものである。各認証サーバは、部分的な認証トークンを暗号化および生成するために、クライアントコンピューティングデバイスが認証された通信を望んでいるサービスプロバイダから取得された分割鍵を使用した。サービスプロバイダは、非公開の秘密鍵を使用して認証トークンを暗号化解除し、それによって、暗号化された認証情報を明らかにする。この情報は、送信されたユニークな識別ＩＤと共に、認証された通信が認可されるかどうかを判断するためにサービスプロバイダによって使用される。
【００１０】
この概要は、以下でさらに詳細に説明される概念の選択を簡素化した形式で導入するために提供される。この概要は、発明の構成要件の主要な特徴または必須の特徴を特定することを意図しておらず、発明の構成要件の範囲を決定するのを支援するために使用されることを意図していない。
【発明を実施するための最良の形態】
【００１１】
図面を参照して非限定的で非網羅的な実施形態を説明するが、別途指定されない限り、種々の図を通じて同様の参照番号は同様の部分を示す。
【００１２】
［概要］
サービスプロバイダとの認証を行うためのシステムおよび方法を説明する。以下に、クライアントコンピューティングデバイスとサービスプロバイダのデバイスとの間で認証された通信を確立するために、クライアントとサービスプロバイダと認証デバイスとの間で利用される処理の広範な検討が提供される。この検討は、図１に示される例示的な環境を使用する。その後、種々のデバイス間で使用される様々な処理の例示的な実装をさらに詳細に説明する。具体的には、サービスプロバイダに対する認証されたアクセスを行うためにクライアントコンピューティングデバイスによって使用される処理の詳細な検討が図２と共に提供され、認証サーバとのサービスプロバイダ登録処理の詳細な検討が図３と共に提供され、認証サーバとのクライアントコンピューティングデバイス登録処理の詳細な検討が図４と共に提供され、認証サーバとのクライアントコンピューティングデバイス認証処理の詳細な検討が図５と共に提供される。最後に、サービスプロバイダ、クライアントコンピューティングデバイス、および認証サーバの例示的な実装がそれぞれ図６〜８と共に検討される。
【００１３】
［例示的環境］
図１に、１つまたは複数のサービスプロバイダ１０４（１）〜１０４（ｎ）と通信可能ないくつかのクライアントコンピューティングデバイス１０２（１）〜１０２（ｎ）を含むコンピュータネットワーク環境１００の例示的な実装を示す。クライアントコンピューティングデバイス１０２（１）〜１０２（ｎ）とサービスプロバイダ１０４（１）〜１０４（ｎ）の間の双方向通信を、ネットワーク１２０（例えば、インターネット）を用いて容易にする。認証サーバ１０６（１）〜１０６（ｎ）もネットワーク１２０に接続される。１つまたは複数の認証サーバ１０６は、クライアントコンピューティングデバイス１０２（１）〜１０２（ｎ）およびサービスプロバイダ１０４（１）〜１０４（ｎ）に対して認証サービスを提供するために協働する。各認証サーバは通常、別の認証サーバと同じ機能を有する。
【００１４】
所定の任意の時間に、クライアントコンピューティングデバイス１０２（１）などの、複数のクライアントコンピューティングデバイス１０２（１）〜１０２（ｎ）のうちの１つは、サービスプロバイダ１０４（１）などの、サービスプロバイダ１０４（１）〜１０４（ｎ）のうちの１つが提供するサービスを要求することができる。認証サーバ１０６（１）〜１０６（ｎ）のサブセットが、クライアントコンピューティングデバイス１０２（１）がサービスプロバイダ１０４（１）と適切に認証を行うことを可能にする技術を提供する。サービスプロバイダ１０４（１）は通常、適切な認証が得られるまでクライアントコンピューティングデバイス１０２（１）〜１０２（ｎ）のうちのいずれにもサービスを提供しない。
【００１５】
サービスプロバイダ１０４（１）およびクライアントコンピューティングデバイス１０２（１）はそれぞれ、サーバ１０６（１）〜１０６（ｎ）の認証サービスを要求する前に認証サーバ１０６（１）〜１０６（ｎ）との関係を確立する。サービスプロバイダ１０４（１）が認証サーバ１０６（１）〜１０６（ｎ）との最初の接触を確立した後、サーバモジュール１３０がサービスプロバイダ１０４（１）に提供される。このサーバモジュール１３０は、サービスプロバイダ１０４（１）が関係登録フェーズ中に必要とする動作パラメータを提供する。サーバモジュール１３０をサービスプロバイダ１０４（１）の揮発性または不揮発性メモリ内に直接記録できる。サービスプロバイダ１０４（１）が複数のサーバ（例えば、サーバファーム）を有する場合、サーバモジュール１３０をそれらの複数のサーバのうちの適切な１つに記録できる。
【００１６】
サーバモジュール１３０を取得した後、サービスプロバイダ１０４（１）は、秘密暗号化キーおよび対応する秘密暗号化解除キーを生成する。秘密暗号化キーは、追加的なキーを生成するために分割される。１つの実装において、秘密キーは閾値法（ｔｈｒｅｓｈｏｌｄ  ｓｃｈｅｍｅ）を使用して分割される。しかしながら、その他の分割法が同様に使用されてよい。分割キーは、サービスプロバイダ１０４（１）を特定するユニークなＩＤと共に１０６（１）などの各認証サーバに安全に送信される。認証サーバ１０６（１）は、分割キーおよびサービスプロバイダのユニークなＩＤを受信した後に、サービスプロバイダ１０４（１）に成功応答を送信する。秘密暗号化解除キーはサービスプロバイダ１０４（１）に留まり、認証サーバ１０６（１）などのいずれのその他のエンティティにも公開されない。サーバモジュール１３０は、秘密キーを生成し、秘密暗号化キーを分割するためのルーチンを提供する。
【００１７】
クライアントコンピューティングデバイス１０２（１）は、クライアントモジュール１４０を受信する。クライアントモジュール１４０は、クライアントコンピュータデバイス１０２（１）のウェブブラウザに組み込まれるウェブブラウザのプラグインモジュールであってよい。クライアントモジュール１４０は、クライアントコンピューティングデバイス１０２（１）と各認証サーバ１０６（ｉ）の間で実行される関係登録処理の間に必要とされる動作パラメータを提供する。クライアントモジュール１４０は、クライアントコンピューティングデバイス１０２（１）の揮発性または不揮発性メモリ内に直接記録することができる。
【００１８】
クライアントモジュール１４０を取得した後、クライアントコンピューティングデバイス１０２（１）は、各認証サーバ１０６（ｉ）への登録を開始することができる。これは、クライアントモジュール１４０がサービスプロバイダ１０４（１）〜１０４（ｎ）のうちの１つまたは複数からのサービスを要求する前に行われるべきである。クライアントモジュール１４０と認証サーバ１０６（ｉ）の間の登録プロセスは、クライアントモジュール１４０を使用することを伴う。クライアントコンピューティングデバイス１０２（１）のユーザは、関連するウェブブラウザなどのユーザインターフェースを介してクライアントモジュール１４０を利用してユニークなユーザ名およびパスワードを入力する。クライアントモジュール１４０は、ユニークなユーザ名からユニークなクライアント識別子を生成する。また、クライアントモジュール１４０は、クライアントモジュール１４０を用いて受信したユニークなユーザ名、パスワード、および認証サーバＩＤから、クライアントが認証サーバ１０６（ｉ）への認証を行うためのクライアント認証キーを生成する。クライアント認証キーを作成するためにハッシュ関数を使用することができる。クライアントモジュール１４０は、クライアント認証キーおよびクライアント識別子を認証サーバ１０６（ｉ）に安全に送信する。クライアント識別子およびクライアント認証キーを受信および保持した後、サーバ１０６（ｉ）は、成功メッセージをクライアントコンピューティングデバイス１０２（１）に送信する。
【００１９】
各認証サーバ１０６（ｉ）への登録の後、クライアントコンピューティングデバイス１０２（１）は認証サーバ１０６（１）〜１０６（ｎ）のサブセットを使用して、認証サーバ１０６（１）〜１０６（ｎ）との関係を既に確立したサービスプロバイダ１０４（１）〜１０４（ｎ）のうちの１つとの認証された通信を確立することができる。
【００２０】
サービスプロバイダ１０４（１）〜１０４（ｎ）のうちの１つとの認証された通信を要求する前に、クライアントコンピューティングデバイス１０２（１）は、当該クライアントコンピューティングデバイスに認証サービスを提供することになる認証サーバ１０６（１）〜１０６（ｎ）のサブセットとの認証を行う。この認証処理は、その後の秘密通信のために、クライアントコンピューティングデバイス１０２（１）および認証サーバ１０６（１）〜１０６（ｎ）のサブセットが使用するセッションキーを生成する。
【００２１】
認証を行うために、クライアントコンピューティングデバイス１０２（１）のユーザは、当該サブセット内の各認証サーバ１０６（ｉ）に認証要求を送信する。認証要求を行うことおよびセッションキーを生成することは、クライアントモジュール１４０を使用して容易になされる。各認証サーバ１０６（ｉ）は、クライアントコンピューティングデバイス１０２（１）にナンスを送信することによって認証要求に応答する。それに応じて、クライアントコンピューティングデバイス１０２（１）は、認証サーバ１０６（ｉ）にクライアント識別子と、クライアント認証キーを使用して暗号化された受信ナンスとを認証サーバ１０６（ｉ）に送信する。暗号化は、クライアントデバイスの乱数およびクライアントデバイスのナンスも含む。クライアントデバイスの乱数およびクライアントデバイスはクライアントモジュール１４０によって生成される。クライアント識別子およびクライアント認証キーは上述の登録プロセス中に生成された。
【００２２】
認証サーバ１０６（ｉ）は、クライアント識別子を使用して、登録プロセス中に生成されたクライアント認証キーを取り出す。取り出されたクライアント認証キーを使用して、暗号化された認証サーバのナンス、クライアントデバイスの乱数、およびクライアントデバイスのナンスの暗号化を解除する。暗号化解除が成功であり、暗号化解除された認証サーバのナンスが前のプロセスにおいて認証サーバによってクライアントに送信されたナンスと一致する場合、認証サーバ１０６（ｉ）は、サーバ１０６において生成された認証サーバの乱数と、ナンスと、クライアントデバイスのナンスとを含む暗号化をクライアント１０２（１）に送信する。この時点で、サーバ１０６およびクライアント１０２（１）の両方が２つの乱数を所有する。ハッシュ関数がサーバ１０６（ｉ）およびクライアント１０２（１）によって２つの乱数に対して使用され、両端においてセッションキーを生成する。このセッションキーは、クライアントコンピューティングデバイス１０２（１）が選択された認証サーバのサブセット内の認証サーバ１０６（ｉ）を使用してサービスプロバイダ１０４（１）〜１０４（ｎ）のうちの１つとの認証された通信を確立するときに、クライアントコンピューティングデバイス１０２（１）と認証サーバ１０６（ｉ）との間で安全なリンクを確立するために使用される。
【００２３】
認証サーバ１０６（ｉ）からセッションキーを取得した後、クライアントデバイス１０２（１）は、認証サーバ１０６（１）〜１０６（ｎ）に既に登録されたサービスプロバイダ（例えば、サービスプロバイダ１０４（１））との認証された通信をいつでも要求できる。この要求は、クライアントコンピューティングデバイス１０２（１）がサービスプロバイダ１０４（１）にアクセス要求を送信した時点で始まる。サービスプロバイダ１０４（１）は、そのサービスプロバイダのユニークなＩＤおよびチャレンジ（例えば、サービスプロバイダのナンス）をクライアントコンピューティングデバイス１０２（１）に送信することによって応答する。選択的に、クライアントがサーバからの認証サービスを要求することができるように、サービスプロバイダ１０４（１）はそのサービスプロバイダ１０４（１）に既に登録されている認証サーバのリストをクライアントコンピューティングデバイス１０２（１）に送信してもよい。クライアントがリスト内の認証サーバと認証を行っていない場合、クライアントはそれらの認証サーバと認証を行い、それらの認証サーバのそれぞれとのその後の秘密通信のためのセッションキーを生成する。
【００２４】
今やクライアントコンピューティングデバイス１０２（１）は、サービスプロバイダ１０４（１）との認証された通信を確立するために、認証サーバのサブセット内の認証サーバのそれぞれ、例えば、認証サーバ１０６（ｉ）といつでも接触することができる。クライアントコンピューティングデバイス１０２（１）は、それぞれの認証サーバ１０６（ｉ）にサービスプロバイダのユニークなＩＤおよびサービスプロバイダのナンスを送信する。選択的に、クライアントコンピューティングデバイス１０２（１）は、そのクライアントコンピューティングデバイス１０２（１）自体のクライアント識別子を認証サービスプロバイダ１０４（１）に送信してもよい。認証サーバ１０６（ｉ）は、当該２つのデバイス間の前の通信からメモリ内に保持されたクライアントコンピューティングデバイス１０２（１）のクライアント識別子およびセッションキーも有するべきである。
【００２５】
認証サーバ１０６（ｉ）は、クライアント識別子、クライアントコンピューティングデバイス１０２（１）のＩＰアドレスなどのネットワークアドレス、およびサービスプロバイダのナンスをサービスプロバイダ１０４（１）から以前受信した分割キーを使用して暗号化する。このプロセスは、クライアントコンピューティングデバイス１０２（１）に伝えられる部分的な認証トークンを作成する。クライアントコンピューティングデバイス１０２（１）は、受信した部分的な認証トークンから認証トークンを生成し、当該認証トークンをそのクライアントコンピューティングデバイス１０２（１）自体のクライアント識別子と共にパッケージングし、当該パッケージをサービスプロバイダ１０４（１）に送信する。サービスプロバイダ１０４（１）は、暗号化された認証トークンをそのサービスプロバイダ１０４（１）の秘密暗号化解除キーを使用して暗号化解除するように試みる。暗号化解除が成功であり、暗号化解除されたナンスが認証された以前の通信においてクライアントに送信されたナンスと一致する場合、認証された通信は成功であり、サービスプロバイダのサービスに対するアクセスが許可される。サービスプロバイダ１０４（１）は、認証された通信が許可されるかどうかをクライアントコンピューティングデバイス１０２（１）に知らせる。
【００２６】
検討された認証処理の利点は少なくとも以下の通りである。サービスプロバイダの秘密キーを知っているのは当該プロバイダのみである。確実に、認証サーバは秘密キーを知らず、サービスプロバイダの秘密キーを取得することは通常、万が一種々の認証サーバの間で重大な共謀が行われた場合にしか起こり得ない。クライアントコンピューティングデバイス側で、ユーザのパスワードは認証プロセス中に直接使用されない。実際、認証プロセスにおける各エンティティ、クライアントコンピューティングデバイスおよびサービスプロバイダはそれらのエンティティ自体の秘密を制御する。これは、信頼できる機関の存在が必要とされないので、ここで説明された認証処理を非常に魅力のあるものにする。信用できる機関は、多くのその他の暗号化／認証技術（例えば、ＰＫＩ）と共に使用される。
【００２７】
［クライアントデバイスのサービスプロバイダへのアクセス処理］
図２は、クライアントデバイス１０２（１）がクライアントデバイスのサービスプロバイダアクセス処理２００を使用してサービスプロバイダ１０４（１）との認証された通信を要求する例示的な実装を示す。認証された通信が、認証サーバ１０６（１）〜１０６（ｎ）のサブセットを使用して容易にされる。表Ｉは、後に続く文章において使用される表記に関する詳細を提供する。
【００２８】
【表１】
2009505308.tif 000003
【００２９】
処理は、クライアントコンピューティングデバイス１０２（１）が通信２０１においてサービスプロバイダ１０４（１）にアクセス要求を送信したときに始まる。サービスプロバイダ１０４（１）は、通信２０２においてＳＩＤ、ｎS、
【００３０】
【数１】
2009505308.tif 000004
【００３１】
、［ｔ個の認証サーバのリスト
【００３２】
【数２】
2009505308.tif 000005
【００３３】
］と共に応答し、ここで、ｔは認証サービスを提供するために必要とされる認証サーバの数に対する閾値である。いったん通信２０２を受信すると、クライアントコンピューティングデバイス１０２（１）は、通信２０４においてＳＩＤ、ｎS、
【００３４】
【数３】
2009505308.tif 000006
【００３５】
、［ＵＩＤ］を認証サーバ１０６に送信する。認証サーバ１０６は通信２０６において
【００３６】
【数４】
2009505308.tif 000007
【００３７】
を送信することによって応答し、ここで、ＵはクライアントのＩＰアドレス（ＩＰ  Ａｄｄｒｅｓｓ）などのクライアントコンピューティングデバイス１０２（１）のネットワーク識別子である。通信２０６の内容は部分的な認証トークンを定義する。クライアントコンピューティングデバイス１０２（１）は、認証サーバとの通信２０６において受信した部分的な認証トークンを使用して、ＵＩＤおよび［＜ｎS＞k］と共にパッケージングされてサービスプロバイダ１０４（１）に送信される認証トークン
【００３８】
【数５】
2009505308.tif 000008
【００３９】
を生成し、ここで、
【００４０】
【数６】
2009505308.tif 000009
【００４１】
である。サービスプロバイダ１０４（１）は、そのサービスプロバイダ１０４（１）の秘密暗号化解除キーＫS-1を使用して、暗号化された認証トークンを暗号化解除し、ここで、
【００４２】
【数７】
2009505308.tif 000010
【００４３】
ｍｏｄ  ｐ2である。
【００４４】
上記暗号化解除、および認証トークンと共に受信した追加的な情報に基づいて、サービスプロバイダ１０４（１）は、通信２１０においてアクセス応答をクライアントコンピューティングデバイス１０２（１）に返送し、認証されたアクセスが許可されるかどうかを指示する。認証された通信中の
【００４５】
【数８】
2009505308.tif 000011
【００４６】
における生成元（ｇ）の選択的な使用は、認証されたセッションが確立された後に、クライアントコンピューティングデバイス１０２（１）とサービスプロバイダ１０４（１）との間のその後の安全な通信のために使用されるセッションキーを生成する方法を提供する。
【００４７】
通信２０４および２０６は、クライアントコンピューティングデバイス１０２（１）および認証サーバ１０６（ｉ）の間で生成されたセッションキーを使用することにより安全である。クライアントコンピューティングデバイス１０２（１）および認証サーバ１０６（ｉ）はそれぞれセッションキーを所有している。そのようなセッションキーの作成の詳細は後で説明される。
【００４８】
検討された様々な通信は、クライアントモジュール１４０およびサーバモジュール１３０を使用して容易にされる。しかし、様々な通信および命令は、そのような通信および命令を実行し、それによって記載のクライアントデバイスのサービスプロバイダへのアクセス処理／方法を提供することを可能にする任意のデバイスによって実行することができる。
【００４９】
［サービスプロバイダ登録処理］
図３は、サービスプロバイダ１０４（１）がサービスプロバイダ登録処理３００を使用して認証サーバ１０６（ｉ）に登録する例示的な実装を示す。サービスプロバイダ登録処理３００は、サービスプロバイダが認証サーバによって提供される認証サービスから利益を受けることができる前に実行される。上記表Ｉは、後に続く文章において使用される表記に関する詳細を提供する。
【００５０】
処理が開始する前に、サービスプロバイダ１０４（１）はサーバモジュール１３０をダウンロードおよびインストールする。この実装におけるサーバモジュール１３０は、サービスプロバイダ１０４（１）が認証に関連する要求と、認証サーバ１０６（ｉ）への、および認証サーバ１０６（ｉ）からの通信とを処理することを可能にする機能を提供する。処理は、サービスプロバイダ１０４（１）がサービスプロバイダの登録を要求する通信３０２を認証サーバ１０６（ｉ）に送信するときに開始する。認証サーバ１０６（ｉ）は、その認証サーバ１０６（ｉ）が登録をいつでも受け付けることができることをサービスプロバイダ１０４（１）に知らせる通信３０４によって応答する。
【００５１】
サービスプロバイダ１０４（１）はサーバモジュール１３０を使用して、図３に示されたサービスプロバイダ登録処理を完了する。サービスプロバイダ１０４（１）は、秘密キーＫS（１≦ＫS≦ｐ2−２）を生成し、ＫS-1ＫS＝ＫSＫS-1＝１  ｍｏｄ  （ｐ2−１）であるようにＫS-1を計算する。次に、サービスプロバイダ１０４（１）は、（ｔ，ｎ）閾値法を使用してＫSをｎ個の分割キー部分
【００５２】
【数９】
2009505308.tif 000012
【００５３】
に分割する。これらの分割キー
【００５４】
【数１０】
2009505308.tif 000013
【００５５】
のうちの１つとＳＩＤとが、安全な通信３０６において各認証サーバ１０６（ｉ）に送信される。認証サーバ１０６（ｉ）は、図２に関連して検討されたクライアントデバイスのサービスプロバイダアクセス処理２００の間に使用するために分割キー
【００５６】
【数１１】
2009505308.tif 000014
【００５７】
およびＳＩＤを記録する。分割キー
【００５８】
【数１２】
2009505308.tif 000015
【００５９】
およびＳＩＤを受信および記録した後、認証サーバ１０６（ｉ）は、通信３０８においてサービスプロバイダ１０４（１）に成功応答を送信する。
【００６０】
検討された様々な通信は、サーバモジュール１３０を使用して容易にされる。しかし、様々な通信および命令は、そのような通信および命令を実行可能な任意のデバイスによって実行されてもよく、それによって記載のサービスプロバイダ登録処理／方法を提供する。
【００６１】
［クライアントデバイス登録処理］
図４は、クライアントコンピューティングデバイス１０２（１）がクライアントデバイス登録処理４００を使用して各認証サーバ１０６（ｉ）に登録する例示的な実装を示す。クライアントデバイス登録処理４００は、クライアントコンピューティングデバイスが認証サーバによって提供される認証サービスから利益を受けることができる前に実行される。上記表Ｉは、後に続く文章において使用される表記に関する詳細を提供する。
【００６２】
処理が開始する前に、クライアントコンピューティングデバイス１０２（１）はクライアントモジュール１４０をダウンロードおよびインストールする。この実装においてクライアントモジュール１４０は、クライアントコンピューティングデバイス１０２（１）が各認証サーバ１０６（ｉ）への、および各認証サーバ１０６（ｉ）からの通信を処理することを可能にする機能を提供する。処理は、クライアントコンピューティングデバイス１０２（１）が、クライアントコンピューティングデバイスの登録を要求する通信４０２を認証サーバ１０６（ｉ）に送信するときに開始する。認証サーバ１０６（ｉ）は、その認証サーバ１０６（ｉ）が登録をいつでも受け付けることができることをクライアントコンピューティングデバイス１０２（１）に知らせる通信４０４によって応答する。
【００６３】
クライアントコンピューティングデバイス１０２（１）はクライアントモジュール１４０を使用して、クライアントコンピューティングデバイス１０２（１）のユーザによって入力されたユーザ名からユニークなクライアントＩＤであるＵＩＤを作成する。ＵＩＤは、ユーザ名をハッシュすることによって、またはユーザ名の部分をハッシュすることによって作成されてもよい。ユーザ名からユニークなクライアントＩＤであるＵＩＤを生成する別のプロセスが使用されてもよい。クライアントコンピューティングデバイス１０２（１）はその後、クライアントモジュール１４０を使用して、図５に示された認証サーバ１０６（ｉ）とのクライアントコンピューティングデバイス認証処理５００において使用されることになるクライアントキー
【００６４】
【数１３】
2009505308.tif 000016
【００６５】
（１≦ｉ≦ｎ）を作成する。クライアントキーは、ユーザ名のみを使用して作成することもできる。ＡＩＤiは、ｉ番目の認証サーバ、この場合は認証サーバ１０６（ｉ）を特定する。
【００６６】
クライアントコンピューティングデバイス１０２（１）は、安全な通信４０６を介して認証サーバ１０６（ｉ）にＵＩＤ、
【００６７】
【数１４】
2009505308.tif 000017
【００６８】
、Ａi（１≦ｉ≦ｎ）を送信する。認証サーバ１０６は、後で使用するためにユニークなクライアントＩＤであるＵＩＤ、およびクライアントキー
【００６９】
【数１５】
2009505308.tif 000018
【００７０】
を保存する。具体的には、認証サーバは、クライアントコンピューティングデバイス１０２（１）がサービスプロバイダとの認証通信を要求するときに、ユニークなクライアントＩＤであるＵＩＤ、およびクライアントキー
【００７１】
【数１６】
2009505308.tif 000019
【００７２】
を使用する。サービスプロバイダとの認証のプロセスは通常、クライアントコンピューティングデバイス１０２（１）と認証サーバ１０６（ｉ）の間の安全な通信を必要とし、ユニークなクライアントＩＤであるＵＩＤ、およびクライアントキー
【００７３】
【数１７】
2009505308.tif 000020
【００７４】
はこの目的のために使用されるセッションキーの生成を容易にする。
【００７５】
検討された様々な通信が、クライアントモジュール１４０を使用して容易になされる。しかし、様々な通信および命令は、そのような通信および命令を実行可能な任意のデバイスによって実行されてもよく、それによって記載のクライアントコンピューティングデバイス登録処理／方法を提供する。
【００７６】
［クライアントデバイス認証処理］
図５は、クライアントコンピューティングデバイス１０２（１）がクライアントコンピューティングデバイス認証処理５００を使用して認証サーバ１０６（ｉ）との認証を行う例示的な実装を示す。クライアントコンピューティングデバイス認証処理５００は、クライアントコンピューティングデバイス１０２（１）を認証サーバ１０６（ｉ）によって認証するために、およびクライアントデバイスがサービスプロバイダとの認証された通信を確立するように試みている間にクライアントコンピューティングデバイスおよび認証サーバによって使用されるセッションキーを生成するために実行される。上記表Ｉは、後に続く文章において使用される表記に関する詳細を提供する。
【００７７】
処理は、クライアントコンピューティングデバイス１０２（１）が、認証を要求する通信５０２を認証サーバ１０６（ｉ）に送信するときに開始する。認証サーバ１０６（ｉ）は、ナンス
【００７８】
【数１８】
2009505308.tif 000021
【００７９】
を含む通信５０４によって応答する。クライアントコンピューティングデバイス１０２（１）は、クライアントモジュール１４０の支援の下に、ユニークなクライアントＩＤであるＵＩＤ、および暗号化
【００８０】
【数１９】
2009505308.tif 000022
【００８１】
を含む通信５０６によって応答する。認証サーバ１０６（ｉ）は、以前の通信において受信されたクライアントキー
【００８２】
【数２０】
2009505308.tif 000023
【００８３】
を使用して暗号化
【００８４】
【数２１】
2009505308.tif 000024
【００８５】
を暗号化解除するように試みる。暗号化解除が成功であり、暗号化解除されたナンスが以前のプロセスにおいてクライアントに送信されたナンス
【００８６】
【数２２】
2009505308.tif 000025
【００８７】
と一致する場合、認証サーバ１０６（ｉ）は、
【００８８】
【数２３】
2009505308.tif 000026
【００８９】
または失敗メッセージを含む通信５０８をクライアントコンピューティングデバイス１０２（１）に送信する。
【００９０】
この時点で、クライアントコンピューティングデバイス１０２（１）および認証サーバ１０６の両方が乱数値
【００９１】
【数２４】
2009505308.tif 000027
【００９２】
を有する。これらの乱数値を使用して、クライアントコンピューティングデバイス１０２（１）および認証サーバ１０６（ｉ）の両方がセッションキー
【００９３】
【数２５】
2009505308.tif 000028
【００９４】
を計算する。このセッションキーは、クライアントコンピューティングデバイス１０２（１）がサービスプロバイダとの認証された通信を要求するために認証サーバ１０６（ｉ）に接触するときに使用される。サービスプロバイダとの認証された通信を確立することに関連するセッションキーの使用は、この文書の前の部分で詳細に検討されている。
【００９５】
検討された様々な通信は、クライアントモジュール１４０を使用して容易にされる。しかし、様々な通信および命令は、そのような通信および命令を実行可能な任意のデバイスによって実行されてもよく、それによって記載のクライアントコンピューティング認証処理／方法を提供する。
【００９６】
［例示的コンピューティングデバイス］
図６〜８は、説明された処理および方法を実装するために使用できる例示的なコンピューティングデバイスを示す。図６は、サービスプロバイダ１０４（１）の例示的な実装を示し、図７は、クライアントコンピューティングデバイス１０２（１）の例示的な実装を示し、図８は、コンピューティングデバイス８００の例示的な実装を示す。認証サーバ１０６（ｉ）などの認証サーバは、コンピューティングデバイス８００に関連して説明される動作要素を使用することができる。これは、ここで検討されるクライアントコンピューティングデバイスおよびサービスプロバイダにも当てはまる。
【００９７】
図６は、サービスプロバイダ１０４（１）を実装するために使用できる例示的なコンピューティングデバイスである。ごく基本的な構成において、コンピューティングデバイスは、少なくとも１つの処理ユニット６０４、およびシステムメモリ６０６を含む。コンピューティングデバイス６００の正確な構成および種類に応じて、システムメモリ６０６を揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）、またはこれら２つの何らかの組合せとすることができる。システムメモリ６０６は通常、オペレーティングシステム６０８と、１つまたは複数のプログラムモジュール６１０とを含み、プログラムデータ６１２を含むことができる。プログラムモジュール６１０のうちの少なくとも１つは、サーバモジュール１３０を含む。
【００９８】
コンピューティングデバイスは、追加的な特徴または機能を有してもよい。例えば、コンピューティングデバイスには、例えば、磁気ディスク、光ディスク、またはテープなどの（取外し可能および／または取外し不可能な）追加的なデータ記録装置も含まれうる。コンピュータ記録媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記録するための任意の方法または技術で実装された揮発性および不揮発性の取外し可能および取外し不可能な媒体が含まれうる。システムメモリ６０６はコンピュータ記録媒体の一例である。したがって、コンピュータ記録媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）、もしくはその他の光学式記録装置、磁気カセット、磁気テープ、磁気ディスク記録装置、もしくはその他の磁気記録装置、または所望の情報を記録するために使用可能でコンピューティングデバイスによってアクセス可能な任意のその他の媒体を含むが、これらに限定されない。任意のそのようなコンピュータ記録媒体は、デバイスの一部であってもよい。コンピューティングデバイスは、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの（１つまたは複数の）入力デバイスも有することもできる。ディスプレイ、スピーカ、プリンタなどの（１つまたは複数の）出力デバイスも含むことができる。これらのデバイスは当技術分野においてよく知られており、詳細に検討／説明される必要はない。
【００９９】
コンピューティングデバイスは、ネットワークを介するなど、当該デバイスがその他のコンピューティングデバイスと通信することを可能にする通信接続も含むことができる。そのようなネットワークが図１のネットワーク１２０として示される。（１つまたは複数の）通信接続は、通信媒体の一例である。通信媒体は通常、搬送波またはその他の搬送メカニズムなどの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって具現化することができ、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、その信号の特徴のうちの１つまたは複数を、信号中に情報を符号化するようなやり方で設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続（ｄｉｒｅｃｔ−ｗｉｒｅｄ  ｃｏｎｎｅｃｔｉｏｎ）などの有線媒体、ならびに音響、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体を含む。コンピュータ可読媒体をコンピュータがアクセス可能な任意の利用可能な媒体とすることができる。限定でなく例として、コンピュータ可読媒体には、「コンピュータ記録媒体」および「通信媒体」が含まれる可能性がある。
【０１００】
様々なモジュールおよび技術が、１つまたは複数のコンピュータまたはその他のデバイスによって実行されるプログラムモジュールなどのコンピュータが実行可能な命令の一般的な文脈でここに説明されているかもしれない。概して、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのプログラムモジュール等は、ネイティブコードとして実行されても、バーチャルマシンもしくはその他のジャストインタイムコンパイル実行環境などにダウンロードされて実行されてもよい。通常、プログラムモジュールの機能は、種々の実施形態において要求に応じて組み合わされ、または分散されてもよい。これらのモジュールおよび技術の実装は、何らかの形態のコンピュータ可読媒体に記録されても、何らかの形態のコンピュータ可読媒体を介して伝達されてもよい。
【０１０１】
図７は、クライアントコンピューティングデバイス１０２（１）を実装するために使用できる例示的なコンピューティングデバイスである。ごく基本的な構成において、コンピューティングデバイスは、少なくとも１つの処理ユニット７０４、およびシステムメモリ７０６を含む。コンピューティングデバイス７００の正確な構成および種類に応じて、システムメモリ７０６は、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）、またはこれら２つの何らかの組合せであってもよい。システムメモリ７０６は通常、オペレーティングシステム７０８と１つまたは複数のプログラムモジュール７１０とを含み、プログラムデータ７１２を含むことができる。プログラムモジュール７１０のうちの少なくとも１つは、クライアントモジュール１４０を含む。
【０１０２】
コンピューティングデバイスは、追加的な特徴または機能を有してもよい。例えば、コンピューティングデバイスは、例えば、磁気ディスク、光ディスク、またはテープなどの（取外し可能および／または取外し不可能な）追加的なデータ記録装置も含む可能性がある。コンピュータ記録媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記録するための任意の方法または技術で実装された揮発性および不揮発性の取外し可能および取外し不可能な媒体を含む可能性がある。システムメモリ７０６はコンピュータ記録媒体の一例である。したがって、コンピュータ記録媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）、もしくはその他の光学式記録装置、磁気カセット、磁気テープ、磁気ディスク記録装置、もしくはその他の磁気記録装置、または所望の情報を記録するために使用可能でコンピューティングデバイスによってアクセス可能な任意のその他の媒体が含まれるが、これらに限定されない。任意のそのようなコンピュータ記録媒体は、デバイスの一部であってもよい。コンピューティングデバイスは、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの（１つまたは複数の）入力デバイスも有することもできる。ディスプレイ、スピーカ、プリンタなどの（１つまたは複数の）出力デバイスも含むことができる。これらのデバイスは当技術分野においてよく知られており、詳細に検討／説明される必要はない。
【０１０３】
コンピューティングデバイスは、ネットワークを介するなど、当該デバイスがその他のコンピューティングデバイスと通信することを可能にする通信接続も含むことができる。そのようなネットワークが図１のネットワーク１２０として示される。（１つまたは複数の）通信接続は通信媒体の一例である。通信媒体は通常、搬送波またはその他の搬送メカニズムなどの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって具現化されることができ、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、その信号の特徴のうちの１つまたは複数を、信号中に情報を符号化するようなやり方で設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体を含む。コンピュータ可読媒体をコンピュータがアクセス可能な任意の利用可能な媒体とすることができる。限定でなく例として、コンピュータ可読媒体には、「コンピュータ記録媒体」および「通信媒体」が含まれる可能性がある。
【０１０４】
様々なモジュールおよび技術が、１つまたは複数のコンピュータまたはその他のデバイスによって実行されるプログラムモジュールなどのコンピュータが実行可能な命令の一般的な文脈でここに説明されているかもしれない。概して、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのプログラムモジュール等は、ネイティブコードとして実行されても、バーチャルマシンもしくはその他のジャストインタイムコンパイル実行環境などにダウンロードされて実行されてもよい。通常、プログラムモジュールの機能は、種々の実施形態において要求に応じて組み合わされ、または分散されてもよい。これらのモジュールおよび技術の実装は、何らかの形態のコンピュータ可読媒体に記録されても、何らかの形態のコンピュータ可読媒体を介して伝達されてもよい。
【０１０５】
図８は、認証サーバ、または本明細書において説明された任意のその他のコンピューティングデバイスを実装するために使用可能な例示的なコンピューティングデバイス８００である。ごく基本的な構成において、コンピューティングデバイス８００は、少なくとも１つの処理ユニット８０４、およびシステムメモリ８０６を含む。コンピューティングデバイス８００の正確な構成および種類に応じて、システムメモリ８０６は、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）、またはこれら２つの何らかの組合せであっても良い。システムメモリ８０６は通常、オペレーティングシステム８０８と、１つまたは複数のプログラムモジュール８１０とを含み、プログラムデータ８１２を含むことができる。
【０１０６】
コンピューティングデバイス８００は、追加的な特徴または機能を有してもよい。例えば、コンピューティングデバイス８００は、例えば、磁気ディスク、光ディスク、またはテープなどの（取外し可能および／または取外し不可能な）追加的なデータ記録装置も含む可能性がある。そのような追加的な記録装置が、取外し可能な記録装置８２０および取外し不可能な記録装置８２２によって図８に示される。コンピュータ記録媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記録するための任意の方法または技術で実装された揮発性および不揮発性の取外し可能および取外し不可能な媒体を含む可能性がある。システムメモリ８０６、取外し可能な記録装置８２０、および取外し不可能な記録装置８２２は全てコンピュータ記録媒体の例である。したがって、コンピュータ記録媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）、もしくはその他の光学式記録装置、磁気カセット、磁気テープ、磁気ディスク記録装置、もしくはその他の磁気記録装置、または所望の情報を記録するために使用されることができ、コンピューティングデバイス８００によってアクセス可能な任意のその他の媒体を含むがこれらに限定されない。任意のそのようなコンピュータ記録媒体はデバイス８００の一部であってもよい。コンピューティングデバイス８００は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの（１つまたは複数の）入力デバイス８２４も有することができる。ディスプレイ、スピーカ、プリンタなどの（１つまたは複数の）出力デバイス８２６も含まれることができる。これらのデバイスは当技術分野においてよく知られており、詳細に検討される必要はない。
【０１０７】
コンピューティングデバイス８００は、ネットワークを介するなど、当該デバイスがその他のコンピューティングデバイス８３０と通信することを可能にする通信接続８２８も含むことができる。そのようなネットワークが図１のネットワーク１２０として示される。（１つまたは複数の）通信接続８２８は通信媒体の一例である。概して、通信媒体は、搬送波またはその他の搬送メカニズムなどの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって具現化されることができ、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、その信号の特徴のうちの１つまたは複数を、信号中に情報を符号化するようなやり方で設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体を含む。コンピュータ可読媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体であることができる。限定でなく例として、コンピュータ可読媒体は、「コンピュータ記録媒体」および「通信媒体」を含む可能性がある。
【０１０８】
様々なモジュールおよび技術が、１つまたは複数のコンピュータまたはその他のデバイスによって実行されるプログラムモジュールなどのコンピュータが実行可能な命令の一般的な文脈でここに説明されているかもしれない。概して、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのプログラムモジュールなどは、ネイティブコードとして実行されても、またはバーチャルマシンもしくはその他のジャストインタイムコンパイル実行環境などにダウンロードされて実行されてもよい。通常、プログラムモジュールの機能は、種々の実施形態において要求に応じて組み合わされ、または分散されてもよい。これらのモジュールおよび技術の実装は、何らかの形態のコンピュータ可読媒体に記録されても、何らかの形態のコンピュータ可読媒体を介して伝達されてもよい。
【０１０９】
実施形態の例が示され、説明されたが、本発明は上述の厳密な構成およびリソースに限定されないことを理解されたい。当業者に明らかな種々の修正、変更、および変形が、特許請求の範囲に記載された発明の範囲を逸脱することなしに、ここに開示された実施形態の構成、動作、および詳細においてなされることができる。
【図面の簡単な説明】
【０１１０】
【図１】１つまたは複数のサービスプロバイダと通信可能ないくつかのクライアントコンピューティングデバイスを含むコンピュータネットワーク環境の例示的な実装を示す図である。
【図２】クライアントデバイスがクライアントデバイスのサービスプロバイダアクセス処理を使用してサービスプロバイダとの認証された通信を要求する例示的な実装を示す図である。
【図３】サービスプロバイダがサービスプロバイダ登録処理を使用して認証サーバに登録する例示的な実装を示す図である。
【図４】クライアントコンピューティングデバイスがクライアントデバイス登録処理を使用して認証サーバに登録する例示的な実装を示す図である。
【図５】クライアントコンピューティングデバイスがクライアントコンピューティングデバイス登録処理を使用して認証サーバとの認証を行う例示的な実装を示す図である。
【図６】サービスプロバイダを実装するために使用可能な例示的なコンピューティングデバイスの図である。
【図７】クライアントコンピューティングデバイスを実装するために使用可能な例示的なコンピューティングデバイスの図である。
【図８】認証サーバを実装するために使用可能な例示的なコンピューティングデバイスの図である。
【図１】
2009505308.tif 000029
【図２】
2009505308.tif 000030
【図３】
2009505308.tif 000031
【図４】
2009505308.tif 000032
【図５】
2009505308.tif 000033
【図６】
2009505308.tif 000034
【図７】
2009505308.tif 000035
【図８】
2009505308.tif 000036
【国際調査報告】
2009505308.tif 000037
2009505308.tif 000038