(57)【特許請求の範囲】
【請求項１】
システムであって、
認証サービスを依拠当事者に提供するためのホスト型認証サービスを実装する１以上のハードウェアプラットフォームであって、前記ホスト型認証サービス及び前記依拠当事者は別個のパーティであり、前記ホスト型認証サービスは鍵を依拠当事者と共有することによって前記依拠当事者を登録し、前記ホスト型認証サービスは管理ポータルを備え、前記管理ポータルによって依拠当事者管理者が前記依拠当事者に代わって認証サービスを提供するように前記ホスト型認証サービスを構成する、１以上のハードウェアプラットフォームと、
前記依拠当事者によってホストされたアプリケーションに挿入される、前記ホスト型認証サービスによって提供される第１のプログラムコード構成要素であって、前記第１のプログラムコード構成要素は、前記アプリケーションにアクセスするクライアント装置がユーザのクライアント装置の１以上の新たな認証部を登録すること及び１以上の認証部を登録解除することを含むユーザ認証及び他の認証関連機能のための前記ホスト型認証サービスにリダイレクトされるようにする、第１のプログラムコード構成要素と、を備え、
前記ホスト型認証サービスは、前記クライアント装置と前記ホスト型認証サービスとの間に生じる複数の異なる認証関連事象に基づいて、複数のアサーションをそれによって前記クライアント装置を回避する前記依拠当事者に直接に伝送し、前記複数のアサーションの各々は前記クライアント装置と前記ホスト型認証サービスとの間に生じる１つの異なる認証関連事象を特定し、少なくとも１つの表示を含み、第１のアサーションはユーザが認証部を登録したことを示し、第２のアサーションはユーザが認証部を登録解除したことを示し、第３のアサーションはユーザが認証部を使用して前記認証サービスによって認証したことを示し、前記依拠当事者は、前記鍵を使用して前記複数のアサーションの各々を検証する、システム。
【請求項２】
前記鍵は、対称アサーション鍵を備える、請求項１に記載のシステム。
【請求項３】
前記ホスト型認証サービスは、前記対称アサーション鍵を使用して、前記複数のアサーションの１つの中のデータに対して第１の署名を生成し、前記依拠当事者は、前記対称アサーション鍵の自身のコピーを使用して、前記前記複数のアサーションの１つの中のデータに対して第２の署名を生成し、前記第１の署名を前記第２の署名と比較することにより前記複数のアサーションの１つを検証する、請求項２に記載のシステム。
【請求項４】
前記第１のプログラムコード構成要素は、ハイパーテキストマークアップランゲージ（ＨＴＭＬ）コードを備え、前記アプリケーションは、ウェブアプリケーションを備える、請求項１に記載のシステム。
【請求項５】
前記依拠当事者によってホストされた前記アプリケーションのバックエンド構成要素に挿入される第２のプログラムコード構成要素を更に備え、前記第２のプログラムコード構成要素は、前記鍵をセキュアに記憶する、請求項１に記載のシステム。
【請求項６】
前記アプリケーションは、前記バックエンド含むウェブアプリケーションと、ハイパーテキストマークアップランゲージ（ＨＴＭＬ）コードを備えるフロントエンドと、を備える、請求項５に記載のシステム。
【請求項７】
前記管理ポータルは、前記アプリケーションのフロントエンドに適用されるべきフロントエンドコード、及び前記アプリケーションのバックエンドに適用されるべきバックエンドコードを生成し、前記フロントエンドコードは、クライアント装置を前記ホスト型認証サービスにリダイレクトするのに使用可能であり、前記バックエンドコードは、前記鍵をセキュアに記憶してこれにアクセスするのに使用可能である、請求項１に記載のシステム。
【請求項８】
前記複数のアサーションの各々は、認証部種類、モデル及び／又は強度の表示を更に含む、請求項１に記載のシステム。
【請求項９】
方法であって、
依拠当事者と鍵を共有することによって、前記依拠当事者をホスト型認証サービスにおいて登録することであって、前記ホスト型認証サービス及び前記依拠当事者は別個のパーティであり、前記ホスト型認証サービスは管理ポータルを備え、前記管理ポータルによって依拠当事者管理者が前記依拠当事者に代わって認証サービスを提供するように前記ホスト型認証サービスを構成する、ことと、
ホスト型認証装置によって提供される第１のプログラムコード構成要素を前記依拠当事者によってホストされたアプリケーションに挿入することであって、前記第１のプログラムコード構成要素は、前記アプリケーションにアクセスするクライアント装置が、ユーザのクライアント装置の１以上の新たな認証部を登録すること及び１以上の認証部を登録解除することを含むユーザ認証及び他の認証関連機能のための前記ホスト型認証サービスにリダイレクトされるようにする、ことと、
前記クライアント装置と前記ホスト型認証サービスとの間に生じる複数の認証関連事象に基づいて、複数のアサーションを前記ホスト型認証サービスから前記依拠当事者に直接に伝送することであって、前記複数のアサーションの各アサーションは前記クライアント装置と前記ホスト型認証サービスとの間に生じる１つの異なる認証関連事象を特定し、前記複数のアサーションの各アサーションは少なくとも１つの表示を含み、第１のアサーションはユーザが認証部を登録したことを示し、第２のアサーションはユーザが認証部を登録解除したことを示し、第３のアサーションはユーザが認証部を使用して前記認証サービスによって認証したことを示し、前記依拠当事者は、前記鍵を使用して前記複数のアサーションの各々を検証する、ことと、
を含む、方法。
【請求項１０】
前記鍵は、対称アサーション鍵を備える、請求項９に記載の方法。
【請求項１１】
前記ホスト型認証サービスは、前記対称アサーション鍵を使用して、前記複数のアサーションの１つの中のデータに対して第１の署名を生成し、前記依拠当事者は、前記対称アサーション鍵の自身のコピーを使用して、前記複数のアサーションの１つの中のデータに対して第２の署名を生成し、前記第１の署名を前記第２の署名と比較して前記複数のアサーションの１つを検証する、請求項１０に記載の方法。
【請求項１２】
前記第１のプログラムコード構成要素は、ハイパーテキストマークアップランゲージ（ＨＴＭＬ）コードを備え、前記アプリケーションは、ウェブアプリケーションを備える、請求項９に記載の方法。
【請求項１３】
前記依拠当事者によってホストされた前記アプリケーションのバックエンド構成要素に挿入される第２のプログラムコード構成要素を更に備え、前記第２のプログラムコード構成要素は、前記鍵をセキュアに記憶する、請求項９に記載の方法。
【請求項１４】
前記アプリケーションは、前記バックエンド含むウェブアプリケーションと、ハイパーテキストマークアップランゲージ（ＨＴＭＬ）コードを備えるフロントエンドと、を備える、請求項１３に記載の方法。
【請求項１５】
前記管理ポータルは、前記アプリケーションのフロントエンドに適用されるべきフロントエンドコード、及び前記アプリケーションのバックエンドに適用されるべきバックエンドコードを生成し、前記フロントエンドコードは、クライアント装置を前記ホスト型認証サービスにリダイレクトするのに使用可能であり、前記バックエンドコードは、前記鍵をセキュアに記憶してこれにアクセスするのに使用可能である、請求項９に記載の方法。
【請求項１６】
前記複数のアサーションの各々は、認証部種類、モデル及び／又は強度の表示を更に含む、請求項９に記載の方法。
【請求項１７】
プログラムコードが記憶されている機械可読媒体であって、前記プログラムコードは、機械によって実行されると、機械に、
依拠当事者と鍵を共有することによって、前記依拠当事者をホスト型認証サービスにおいて登録することであって、前記ホスト型認証サービス及び前記依拠当事者は別個のパーティであり、前記ホスト型認証サービスは管理ポータルを備え、前記管理ポータルによって依拠当事者管理者が前記依拠当事者に代わって認証サービスを提供するように前記ホスト型認証サービスを構成する、ことと、
ホスト型認証装置によって提供される第１のプログラムコード構成要素を前記依拠当事者によってホストされたアプリケーションに挿入することであって、前記第１のプログラムコード構成要素は、前記アプリケーションにアクセスするクライアント装置が、ユーザのクライアント装置の１以上の新たな認証部を登録すること及び１以上の認証部を登録解除することを含むユーザ認証及び他の認証関連機能のための前記ホスト型認証サービスにリダイレクトされるようにする、ことと、
前記クライアント装置と前記ホスト型認証サービスとの間に生じる複数の認証関連事象に基づいて、複数のアサーションを、前記ホスト型認証サービスから前記依拠当事者に直接に伝送することであって、前記複数のアサーションの各アサーションは前記クライアント装置と前記ホスト型認証サービスとの間に生じる１つの異なる認証関連事象を特定し、前記複数のアサーションの各アサーションは少なくとも１つの表示を含み、第１のアサーションはユーザが認証部を登録したことを示し、第２のアサーションはユーザが認証部を登録解除したことを示し、第３のアサーションはユーザが認証部を使用して前記認証サービスによって認証したことを示し、前記依拠当事者は、前記鍵を使用して前記複数のアサーションの各々を検証する、ことと、
の動作を行わせる、機械可読媒体。
【請求項１８】
前記鍵は、対称アサーション鍵を備える、請求項１７に記載の機械可読媒体。
【請求項１９】
前記ホスト型認証サービスは、前記対称アサーション鍵を使用して、前記複数のアサーションの１つの中のデータに対して第１の署名を生成し、前記依拠当事者は、前記対称アサーション鍵の自身のコピーを使用して、前記複数のアサーションの１つのデータに対して第２の署名を生成し、前記第１の署名を前記第２の署名と比較して前記複数のアサーションの１つを検証する、請求項１８に記載の機械可読媒体。
【請求項２０】
前記第１のプログラムコード構成要素は、ハイパーテキストマークアップランゲージ（ＨＴＭＬ）コードを備え、前記アプリケーションは、ウェブアプリケーションを備える、請求項１７に記載の機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、データ処理システムの分野に関する。より詳細には、本発明は、ホスト型認証サービスを実装するためのシステム及び方法に関する。
【背景技術】
【０００２】
システムはまた、バイオメトリックセンサを使用してネットワーク上でセキュアなユーザ認証を提供するために設計されている。そのようなシステムにおいて、認証部、及び／又は他の認証データにより生成されたスコアは、リモートサーバでユーザを認証するためにネットワークで送ることができる。例えば、米国特許出願公開第２０１１／００８２８０１号（「‘８０１出願」）は、強力な認証（例えば、個人情報の盗難及びフィッシングに対する保護）を提供する、ネットワーク上でのユーザ登録及び認証のためのフレームワーク、セキュアトランザクション（例えば、「ブラウザにおけるマルウェア」及びトランザクションについての「中間者」攻撃に対する保護）、及び、クライアント認証トークン（例えば、指紋リーダー、顔認識装置、スマートカード、トラステッドプラットフォームモジュールなど）の登録／管理について記載している。
【０００３】
本特許出願の譲受人は、‘８０１出願に記載された認証フレームワークに対する様々な改善を開発している。これらの改善のうちのいくつかは、本願と同じ譲受人に譲渡されている以下の一群の米国特許出願に記載されている：第１３／７３０，７６１号、Ｑｕｅｒｙ  Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｔｏ  Ｄｅｔｅｒｍｉｎｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ；第１３／７３０，７７６号、Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔｌｙ  Ｅｎｒｏｌｌｉｎｇ，Ｒｅｇｉｓｔｅｒｉｎｇ，ａｎｄ  Ａｕｔｈｅｎｔｉｃａｔｉｎｇ  Ｗｉｔｈ  Ｍｕｌｔｉｐｌｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｄｅｖｉｃｅｓ；第１３／７３０，７８０号、Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｒａｎｄｏｍ  Ｃｈａｌｌｅｎｇｅｓ  Ｗｉｔｈｉｎ  ａｎ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ；第１３／７３０，７９１号、Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｉｍｐｌｅｍｅｎｔｉｎｇ  Ｐｒｉｖａｃｙ  Ｃｌａｓｓｅｓ  Ｗｉｔｈｉｎ  ａｎ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ；第１３／７３０，７９５号、Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｉｍｐｌｅｍｅｎｔｉｎｇ  Ｔｒａｎｓａｃｔｉｏｎ  Ｓｉｇｎａｌｉｎｇ  Ｗｉｔｈｉｎ  ａｎ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ；及び第１４／２１８，５０４，Ａｄｖａｎｃｅｄ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ（以下において「‘５０４出願」）。これらの出願は、本明細書において（「同時係属出願」）と呼ばれることがある。
【０００４】
手短に言えば、これらの同時係属出願は、ユーザが、クライアント装置においてバイオメトリック装置（例えば、指紋センサ）のような認証装置（又は認証部）によって登録する認証技術を記載している。ユーザがバイオメトリック装置によって登録されるとき、バイオメトリック参考データが（例えば、指をスワイプすること、写真をスナップすること、声を録音することなどにより）捕捉される。ユーザは、その後、ネットワークを介する１つ以上のサーバ（例えば、同時係属出願に記載されているようなセキュアトランザクションサービスを備えるウェブサイト又は別の依拠当事者）によって認証装置を登録／プロビジョニングし、その後、登録プロセス中に交換されるデータ（例えば、認証装置にプロビジョニングされる暗号鍵）を使用してそれらのサーバで認証することができる。認証されると、ユーザは、ウェブサイト又は他の依拠当事者と１つ以上のオンライントランザクションを実行することが許可される。同時係属出願に記載されたフレームワークでは、機密情報、例えば、ユーザを一意的に識別するために使用することができる指紋データ及び別のデータは、ユーザのプライバシーを保護するためにユーザの認証装置にローカルに保持されてもよい。
【０００５】
‘５０４出願は、複合認証部を設計するための技術と、認証保証レベルをインテリジェントに生成する技術と、非侵入型ユーザ検証を使用する技術と、認証データを新規の認証装置に移動する技術と、クライアントリスクデータによって認証データを増加させる技術と、認証方針を最適に適用する技術と、トラストサークルを作成してほんの少数を指名する技術と、を含む様々な付加的技術を記載している。
本発明のより良好な理解は、以下の図面と共に以下の詳細な説明から得ることができる。
【図面の簡単な説明】
【０００６】
【図１Ａ】セキュア認証システムアーキテクチャについての２つ異なる実施形態を図示している。
【図１Ｂ】セキュア認証システムアーキテクチャについての２つ異なる実施形態を図示している。
【図２】鍵が認証装置に登録される態様を示すトランザクション線図である。
【図３】リモート認証を示すトランザクション線図を図示している。
【図４】ホスト型認証サービスを実装するためのシステムの１つの実施形態を図示している。
【図５】ホスト型認証サービスによって依拠当事者を登録する方法についての１つの実施形態を図示している。
【図６】ホスト型認証サービスを使用するための方法についての１つの実施形態を図示している。
【図７】サーバ及び／又はクライアントのために使用されるコンピュータアーキテクチャについての１つの実施形態を図示している。
【図８】サーバ及び／又はクライアントのために使用されるコンピュータアーキテクチャについての一実施形態を図示している。
【発明を実施するための形態】
【０００７】
以下に説明するものは、高度な認証技術及び関連するアプリケーションを実行するための装置、方法及び機械可読媒体の実施形態である。説明を通して、説明の目的のために、多数の具体的な詳細が本発明の完全な理解を提供するために記載されている。しかしながら、本発明が、これらの具体的な詳細の一部がなくても実施され得ることは当業者にとって明らかであろう。他の例において、周知の構造及び装置は示されていないか、又は、本発明の基本原理を曖昧にすることを避けるためにブロック図の形態で示されている。
【０００８】
以下に説明する本発明の実施形態には、生体モダリティ又はＰＩＮ入力などのユーザ検証機能を備えた認証装置が含まれる。これらの装置は、本明細書において、「トークン」、「認証装置」、又は「認証部」と呼ばれることがある。特定の実施形態は、顔認識ハードウェア／ソフトウェア（例えば、ユーザの顔を認識してユーザの眼の動きを追跡するためのカメラ及び関連するソフトウェア）にフォーカスしており、いくつかの実施形態は、例えば、指紋センサ、音声認識ハードウェア／ソフトウェア（例えば、マイクロフォン及びユーザの音声を認識するための関連するソフトウェア）、及び、光学的認識機能（例えば、ユーザの網膜をスキャンするための光学スキャナ及び関連するソフトウェア）を含む追加のバイオメトリック装置を利用することができる。ユーザ検証機能は、ＰＩＮ入力のような、非バイオメトリック様式を含んでもよい。認証部は、暗号操作及び鍵記憶のためにトラスデッドプラットフォームモジュール（ＴＰＭ）、スマートカード及びセキュアエレメントのような装置を使用することがあり得る。
【０００９】
モバイルバイオメトリックの実装において、バイオメトリック装置は、依拠当事者からリモートにあってもよい。本明細書で用いるとき、「リモート」という用語は、バイオメトリックセンサが通信可能に結合されているコンピュータのセキュリティ境界の一部ではない（例えば、依拠当事者コンピュータと同じ物理的筐体内に埋め込まれていない）ことを意味する。一例として、バイオメトリック装置は、ネットワーク（例えば、インターネット、無線ネットワークリンクなど）を介して又はＵＳＢポートなどの周辺入力を介して依拠当事者に結合することができる。これらの条件下では、その装置が依拠当事者（例えば、認証強度及び完全性保護の許容可能なレベルを提供するもの）によって認証されるものであるかどうか及び／又はハッカーがバイオメトリック装置を侵害したかどうか若しくは更には交換したかどうかを依拠当事者が知る方法はない可能性がある。バイオメトリック装置における信頼は、装置の特定の実装に依存する。
【００１０】
「ローカル」という用語は、ユーザが現金自動預け払い機（ＡＴＭ）又は店舗販売時点情報管理（ＰＯＳ）小売チェックアウトの位置などの特定の位置において個人がトランザクションを完了していることを意味するために本明細書において使用される。しかしながら、以下に説明するように、ユーザを認証するために用いられる認証技術は、遠隔サーバ及び／又は他のデータ処理装置とのネットワークを介した通信などの非位置要素を含むことができる。更に、具体的な実施形態が（ＡＴＭや小売店など）本明細書において記載されるが、本発明の基礎原理は、トランザクションがエンドユーザによってローカルに開始される任意のシステムのコンテキスト内で実装されてもよいことに留意すべきである。
【００１１】
用語「依拠当事者」とは、本明細書において、ユーザトランザクションがそれによって試みられるエンティティ（例えば、ユーザトランザクションを実行するウェブサイト又はオンラインサービス）だけでなく、セキュアトランザクションサーバ（本明細書で説明される基礎となる認証技術を実行し得るそのエンティティの代わりに実装される」と呼ばれることがある）も指すために使用されることがある。セキュアトランザクションサーバは、所有される及び／又は依拠当事者の制御下にあってもよく、又は、事業構成の一部として依拠当事者に対してセキュアトランザクションサービスを提供する第三者の制御下にあってもよい。
【００１２】
「サーバ」という用語は、クライアントからネットワークを介してリクエストを受信し、応答として１つ以上の操作を実行し、クライアントに通常は操作の結果を含む応答を送信するハードウェアプラットフォーム上で（又は複数のハードウェアプラットフォームにわたって）実行されるソフトウェアを指すために本明細書において使用される。サーバは、クライアントに対してネットワーク「サービス」を提供する又は提供するのに役立つように、クライアントのリクエストに応答する。重要なことは、サーバが単一のコンピュータ（例えば、サーバソフトウェアを実行する単一のハードウェア装置）に限定されるものではなく、実際には、潜在的に複数の地理的位置にある複数のハードウェアプラットフォームにまたがってもよいということである。
【００１３】
例示的なシステムアーキテクチャ及びトランザクション
図１Ａ〜図１Ｂは、システムアーキテクチャについての２つの実施形態を図示し、このシステムアーキテクチャは、認証装置を登録（「プロビジョニング」とも呼ばれることがある）してユーザを認証するために、クライアント側及びサーバ側の構成要素を備える。図１Ａに示す実施形態は、ウェブサイトと通信するためにウェブブラウザプラグインベースのアーキテクチャを使用し、一方、図１Ｂに示す実施形態は、ウェブブラウザを必要としない。ユーザを認証装置に登録すること、認証装置をセキュアなサーバに登録すること、及びユーザを検証することなどの、本明細書に記載の様々な技術は、これらのシステムアーキテクチャのうちの任意のものに実装されてもよい。このように、図１Ａに示すアーキテクチャは、以下で説明する実施形態のうちのいくつかの操作を説明するために使用され、一方、同じ基本原理が図１Ｂに示すシステムにおいて容易に（例えば、サーバ１３０とセキュアトランザクションサービス１０１との間の通信のための媒介としてのブラウザプラグイン１０５を取り除くことによって）実装され得る。
【００１４】
図１Ａを最初に参照すると、図示された実施形態は、エンドユーザを登録して検証するために、１つ以上の認証装置１１０〜１１２（時として、認証「トークン」又は「認証部」と当該技術分野において呼ばれることがある）を備えるクライアント１００を含む。上記のように、認証装置１１０〜１１２は、指紋センサ、音声認識ハードウェア／ソフトウェア（例えば、ユーザの声を認識するためのマイクロフォン及び付随するソフトウェア）、顔認識ハードウェア／ソフトウェア（例えば、ユーザの顔を認識するためのカメラ及び付随するソフトウェア）、及び、光学的認識機能（例えば、ユーザの網膜をスキャンするための光学式スキャナ及び付随するソフトウェア）のようなバイオメトリック装置、並びに、ＰＩＮ検証のような非バイオメトリック方式のためのサポートを含んでもよい。認証装置は、トラステッドプラットフォームモジュール（ＴＰＭ）、スマートカード、又はセキュアな要素を暗号操作及び鍵記憶のために使用してもよい。
【００１５】
認証装置１１０〜１１２は、セキュアトランザクションサービス１０１によって露出されたインターフェース１０２（例えば、アプリケーションプログラミングインターフェース又はＡＰＩ）を介してクライアントに通信可能に接続されている。セキュアトランザクションサービス１０１は、ネットワークを介して１つ以上のセキュアトランザクションサーバ１３２〜１３３と通信を行い、かつウェブブラウザ１０４のコンテキスト内で実行されるセキュアトランザクションプラグイン１０５とインターフェースするためのセキュアアプリケーションである。図示されたように、インターフェース１０２はまた、装置識別コード、ユーザ識別コード、認証装置によって保護されるユーザ登録データ（例えば、スキャンされた指紋又は他のバイオメトリックデータ）などの認証装置１１０〜１１２のそれぞれに関連する情報と、認証装置によって覆い包まれている本明細書に記載されたセキュア認証技術を実行するために使用される鍵とを記憶するクライアント１００におけるセキュア記憶装置１２０に対するセキュアアクセスを提供することができる。例えば、以下に詳細に説明するように、固有の鍵は、認証装置のそれぞれに記憶され、インターネットなどのネットワークを介してサーバ１３０と通信するときに使用することができる。
【００１６】
後述するように、特定の種類のネットワークトランザクションは、ウェブサイト１３１又は他のサーバとのＨＴＴＰ又はＨＴＴＰＳトランザクションなどのセキュアトランザクションプラグイン１０５によって、サポートされる。１つの実施形態では、セキュアトランザクションプラグインは、セキュアエンタープライズ又はウェブデスティネーション１３０の内部のウェブサーバ１３１（時として、単に「サーバ１３０」と呼ばれることがある）によってウェブページのＨＴＭＬコードの中に挿入された特定のＨＴＭＬタグに応答して開始される。そのようなタグを検出することに応答して、セキュアトランザクションプラグイン１０５は、処理のために、セキュアトランザクションサービス１０１に、トランザクションを転送することができる。更に、特定の種類のトランザクション（例えば、セキュア鍵交換などの）について、セキュアトランザクションサービス１０１は、構内トランザクションサーバ１３２（すなわち、ウェブサイトと同じ位置に配置された）又は構外トランザクションサーバ１３３との直接の通信チャンネルを開くことができる。
【００１７】
セキュアトランザクションサーバ１３２〜１３３は、ユーザデータ、認証装置データ、鍵、及び、後述するセキュア認証トランザクションをサポートするために必要な他のセキュア情報を記憶するためにセキュアトランザクションデータベース１２０に結合される。しかし、本発明の基礎となる原理は、図１Ａに示すセキュアエンタープライズ又はウェブデスティネーション１３０内の論理的構成要素の分離を必要としないことに留意するべきである。例えば、ウェブサイト１３１とセキュアトランザクションサーバ１３２〜１３３とは、単一の物理サーバ又は別個の物理サーバ内に実装されてもよい。更に、ウェブサイト１３１及びトランザクションサーバ１３２〜１３３は、以下に説明する機能を実行するための１つ以上のサーバ上で実行される統合されたソフトウェアモジュール内に実装されてもよい。
【００１８】
上記のように、発明の基礎となる原理は、図１Ａに示すブラウザベースのアーキテクチャに限定されない。図１Ｂは、スタンドアロンアプリケーション１５４が、ネットワークを介してユーザを認証するセキュアトランザクションサービス１０１によって提供される機能を利用する代替の実装を図示している。一実施形態において、アプリケーション１５４は、以下で詳細に説明するユーザ／クライアント認証技術を実行するためのセキュアトランザクションサーバ１３２〜１３３に依存する１つ以上のネットワークサービス１５１との通信セッションを確立するように設計されている。
【００１９】
図１Ａ及び図１Ｂに示された実施形態のどちらにおいても、セキュアトランザクションサーバ１３２〜１３３は、次いでセキュアトランザクションサービス１０１に対してセキュアに伝送され、かつセキュア記憶装置１２０内の認証装置に記憶される鍵を生成することができる。更に、セキュアトランザクションサーバ１３２〜１３３は、サーバ側のセキュアトランザクションデータベース１２０を管理する。
【００２０】
認証装置をリモートで登録すること、及び依拠当事者によって認証することと関連する特定の基本原理を図２及び図３について説明し、それに続いて、セキュア通信プロトコルを使用して信用を確立するための本発明の実施形態について詳細に説明する。
【００２１】
図２は、クライアントにおける認証装置（例えば、図１Ａ〜図１Ｂのクライアント１００における装置」１１０〜１１２）を登録する（時として、認証装置を「プロビジョ二ングする」と呼ばれることがある）ための一連のトランザクションを図示している。簡単には、セキュアトランザクションサービス１０１とインターフェース１０２とは、認証クライアント２０１として一緒に結合され、セキュアトランザクションサーバ１３２〜１３３を含むセキュアエンタープライズ又はウェブデスティネーション１３０は、依拠当事者２０２として表されている。
【００２２】
認証部（例えば、指紋認証部、音声認証部など）の登録の間、認証部と関連する鍵は、認証クライアント２０１と依拠当事者２０２との間で共有される。図１Ａ〜図１Ｂに戻って参照すると、鍵は、クライアント１００のセキュア記憶装置１２０、及びセキュアトランザクションサーバ１３２〜１３３によって使用されるセキュアトランザクションデータベース１２０内に記憶されてもよい。一実施形態において、鍵は、セキュアトランザクションサーバ１３２〜１３３のいずれかによって生成された対称鍵である。しかし、下記の別の実施形態では、非対称鍵が使用される。本実施形態では、公開鍵／秘密鍵のペアが、セキュアトランザクションサーバ１３２〜１３３によって生成されてもよい。公開鍵は、次いで、セキュアトランザクションサーバ１３２〜１３３によって記憶されてもよく、そして、関連する秘密鍵は、クライアントにおけるセキュア記憶装置１２０に記憶されてもよい。代替の実施形態では、１つ以上の鍵が、クライアント１００において（例えば、セキュアトランザクションサーバ１３２〜１３３ではなく、認証装置又は認証装置インターフェースによって）生成されてもよい。本発明の基本原理は、任意の特定の種類の鍵又は鍵の生成方法に限定されるものではない。
【００２３】
セキュア鍵プロビジョニングプロトコルが、１つの実施形態において使用されて、セキュア通信チャネルを介してクライアントと鍵を共有する。鍵プロビジョニングプロトコルの１つの例は、Ｄｙｎａｍｉｃ  Ｓｙｍｍｅｔｒｉｃ  Ｋｅｙ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｒｏｔｏｃｏｌ（ＤＳＫＰＰ）（例えば、Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ（ＲＦＣ）６０６３を参照）である。しかしながら、本発明の基本原理は、いかなる特定の鍵プロビジョニングプロトコルにも限定されるものではない。１つの特定の実施形態では、クライアントは、公開／秘密鍵ペアを生成して、証明鍵によって証明されてもよい公開鍵をサーバに送る。
【００２４】
図２に示す特定詳細を参照すると、登録プロセスを開始するために、依拠当事者２０２は、装置登録の間に認証クライアント２０１によって提示されなければならない、ランダムに生成されたチャレンジ（例えば、暗号ノンス）を生成する。ランダムチャレンジは、限られた期間について有効であり得る。それに応じて、認証クライアント２０１は、依拠当事者２０２（例えば、アウトオブバンドトランザクション）とのアウトオブバンドセキュア接続を開始し、そして、鍵プロビジョニングプロトコル（例えば、上記のＤＳＫＰＰプロトコル）を使用して依拠当事者２０２と通信する。セキュア接続を開始するために、認証クライアント２０１が、ランダムチャレンジを（場合によっては、ランダムチャレンジに対して生成された署名と共に）依拠当事者２０２に提供し戻してもよい。加えて、認証クライアント２０１は、ユーザの識別（例えば、ユーザＩＤ又は別のコード）、及び（例えば、プロビジョニングされている１つ以上の認証装置の種類を一意的に識別する認証証明ＩＤ（ＡＡＩＤ）を使用して）登録されるプロビジョニングされるべき１つ以上の認証装置の識別を伝送してもよい。
【００２５】
依拠当事者は、ユーザ名又はＩＤコード（例えば、ユーザアカウントデータベースの中の）によってユーザを探索し、ランダムチャレンジを検証し（例えば、署名を使用して、又は、単にランダムチャレンジを送られたものと比較して）、送られたものならば（例えば、ＡＡＩＤ）認証装置の認証コードを検証し、そして、ユーザ及び１つ以上の認証装置について新規エントリをセキュアトランザクションデータベース（例えば、図１Ａ〜図１Ｂにおけるデータベース１２０）に作成する。１つの実施形態では、依拠当事者は、それが認証のために受け入れる認証装置のデータベースを維持する。それは、ＡＡＩＤ（又は、別の１つ以上の認証装置コード）によってこのデータベースに問合せることにより、プロビジョニングされている１つ以上の認証装置が認証に対して許容可能か否かを判定してもよい。肯定の場合、次いて、それは、登録プロセスを続行することになる。
【００２６】
１つの実施形態では、依拠当事者２０２は、プロビジョニングされているそれぞれの認証装置に対して認証鍵を生成する。それは、セキュアデータベースに鍵を書込み、鍵プロビジョニングプロトコルを使用して鍵を認証クライアント２０１に送り返す。一旦完了すると、認証装置と依拠当事者２０２とは、対称鍵が使用された場合には同じ鍵を共有し、非対称鍵が使用された場合には異なる鍵を共有する。例えば、非対称鍵が使用された場合、依拠当事者２０２は、公開鍵を記憶して、認証クライアント２０１に秘密鍵を提供してもよい。依拠当事者２０２から秘密鍵を受け取ると、認証クライアント２０１は、鍵を認証装置にプロビジョニングする（それを認証装置と関連するセキュア記憶装置内に記憶する）。それは、次いで、（下記のように）ユーザの認証の間、鍵を使用してもよい。代替の実施形態では、１つ以上の鍵が、認証クライアント２０１によって生成され、そして、鍵プロビジョニングプロトコルが、依拠当事者２０２に１つ以上の鍵を提供するために使用される。いずれにせよ、一旦プロビジョニングが完了すると、認証クライアント２０１及び依拠当事者２０２はそれぞれ鍵を有し、そして、認証クライアント２０１は、依拠当事者に完了を通知する。
【００２７】
図３は、プロビジョニングされた認証装置によるユーザ認証のための一連のトランザクションを図示している。一旦装置登録が（図２に記載されているように）完了すると、依拠当事者２０２は、有効な認証レスポンスとしてクライアントにおけるローカル認証装置によって生成された認証レスポンス（時として「トークン」と呼ばれることがある）を受け入れることになる。
【００２８】
図３に示す特定詳細を参照すると、ユーザが認証を必要とする依拠当事者２０２によってトランザクションを開始すること（例えば、依拠当事者のウェブサイトからの支払い、秘密ユーザアカウントデータにアクセスすることなどを開始すること）に応じて、依拠当事者２０２は、ランダムチャレンジ（例えば、暗号ノンス）を含む認証リクエストを生成する。１つの実施形態では、ランダムチャレンジは、それと関連する時間制限（例えば、それが指定期間の間、有効である）を有する。依拠当事者は、また、認証のために、認証クライアント２０１によって使用されるべき認証部を識別してもよい。上記のように、依拠当事者は、クライアントにおいて利用可能なそれぞれの認証装置をプロビジョニングして、それぞれのプロビジョニングされた認証部のための公開鍵を記憶してもよい。このように、それは、認証部の公開鍵を使用するか、又は、認証部ＩＤ（例えば、ＡＡＩＤ）を使用することにより、使用されるべき認証部を識別してもよい。代替として、それは、ユーザが選択してもよい認証選択肢のリストをクライアントに提供してもよい。
【００２９】
認証リクエストの受取りに応じて、ユーザは、認証をリクエストするグラフィカルユーザインターフェース（ＧＵＩ）を（例えば、ウェブページ又は認証アプリケーション／アプリのＧＵＩの形式で）提示されてもよい。ユーザは、次いで、認証（例えば、指紋リーダー上で指をスワイプすることなど）を実行する。それに応じて、認証クライアント２０１は、認証部と関連する秘密鍵を有するランダムチャレンジに対して署名を含む認証レスポンスを生成する。それは、また、ユーザＩＤコードのような別の関連するデータを認証レスポンスの中に含んでもよい。
【００３０】
認証レスポンスを受け取ると、依拠当事者は、ランダムチャレンジに対して（例えば、認証部と関連する公開鍵を使用して）署名を検証して、ユーザの識別を確認してもよい。一旦認証が完了すると、図示されたように、ユーザは、依拠当事者によってセキュアトランザクションに入ることが許可される。
【００３１】
Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ（ＴＬＳ）又はＳｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ（ＳＳＬ）のようなセキュア通信プロトコルが、図２〜図３に図示されたトランザクションのうちの一部又は全てについて、依拠当事者２０１と認証クライアント２０２との間のセキュア接続を確立するために使用されてもよい。
【００３２】
ホスト型認証サービスを実装するためのシステム及び方法
本発明の１つの実施形態は、ホスト型認証サービスを含み、その認証サービスは、完全な証明サーバ機能を複数の依拠当事者に平行して提供するが、それにより、依拠当事者開発者による統合努力が最小で済む。
【００３３】
一般的な認証サーバ実装は、依拠当事者のネットワークインフラの内部に配備される。このことは、大組織についての共通の配備選択肢であって、大組織の方針は、重大なセキュリティ資産がそれら自身のインフラの外部にあることを許さない。しかし、認証サーバを既存のインフラの中に統合することは、簡単な作業ではなく、かなりの投資を必要とする場合がある。
【００３４】
一部の依拠当事者は、そのような投資を控え、その代わりに、統合化の複雑さを隠しつつ、同じ認証サーバ能力を提供するホスト型認証サービスと統合する方を選択してもよい。しかし、十分なセキュリティ対策が、受け入れられるべきホスト型認証サービスに対して実施されていなければならない。
【００３５】
図４に図示されたように、本発明の１つの実施形態は、前記の認証能力を提供するために、ネットワーク（例えば、インターネット）を介して依拠当事者４３０に通信可能に連結されたオンラインシステムとして実装されたホスト型認証サービス（ＨＡＳ）４５０を含む。図示されたように、ＨＡＳベースのアーキテクチャは、３つの構成要素、すなわち、依拠当事者（ＲＰ）ウェブアプリケーション４４０と、ホスト型認証サービス４５０と、１つ以上の認証部４６５、認証クライアント４６２、及びブラウザ又はアプリケーション４６１によって構成されたクライアント装置４６０と、を含む。
【００３６】
１つの実施形態では、ＲＰウェブアプリケーション４４０は、金融機関ウェブサイト、ソーシャルネットワークウェブサイト、ウェブベースの電子メールサービス、ウェブベースの娯楽ポータルなどのようなウェブベースのオンラインサービスである。それは、ウェブアプリケーション４４０及びログインシステムによって提供されるサービスに申し込むユーザのデータベース４３５を有する。ＲＰウェブアプリケーション４４０は、一般的に、フロントエンド構成要素４４１と、バックエンド構成要素４４２と、によって設計される。フロントエンド構成要素４４１は、ユーザリクエストに応じてウェブページをダイナミックに生成するためのＨｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＨＴＭＬ）コード又は別のウェブベースのコードによって実装されたウェブサーバであってもよい。バックエンド構成要素４４２は、一般的に、１つ以上のデータベース４３５にアクセスし、そして、フロントエンド構成要素４４１によって生成されたウェブページにおいて使用されるべき基礎データを取得する及び／又は生成するためのビジネスロジックを含む。例えば、依拠当事者が金融機関である場合、バックエンドコード４４２は、ユーザリクエストに応じて課金データを含むデータベース４３５にアクセスしてもよい。バックエンド構成要素４４２は、次いで、課金データを使用して計算を実行してもよく、及び／又は、単にウェブページにある課金データを使用して実行された課金データ又は計算をその後含むことになるフロントエンド構成要素４４１に課金データを提供してもよい。基礎データがユーザに提示される態様は、一般的に、フロントエンド構成要素４４１によって規定される。
【００３７】
１つの実施形態では、ホスト型認証サービス４５０は、依拠当事者４３０に代わって配備された認証サーバ４５５を有するオンラインサービスである。以前に論じたように、認証クライアント４６２を備えるクライアント装置４６０は、その認証部４６５を認証サーバ４５５（図２を参照）によって登録してもよい。認証部４６５と関連する鍵及び別の証明書は、次いで、認証サーバ４５５によってセキュア記憶装置４５６に記憶されてもよい（そして、図３に図示されたようにエンドユーザを認証するために取得されてもよい）。図４に図示された１つの実施形態では、ホスト型認証サービス４５０は、また、複数のＲＰウェブアプリケーション４４０に対する登録された認証証明書（認証登録）を記憶するためのデータベース４５２を維持する。
【００３８】
上記のように、クライアント装置４６０は、ラップトップ、タブレット、電話又は認証クライアント４６２及び認証部４６５へのアクセスを有する任意の別のデータ処理装置であってもよい。クライアント装置は、また、依拠当事者４３０によって提供されるサービスにアクセスするために（例えば、依拠当事者ウェブサイト又は別の形式のオンラインサービスにアクセスするために）ブラウザ又はアプリケーション４６１を含む。
【００３９】
図４は、１つの実施形態を図示し、この実施形態においては、ＲＰウェブアプリケーション４４０は、ホスト型認証サービス（以下で論じる）とのアウトオブバンド関連付けを有し、そして、ＲＰウェブアプリケーションのウェブページは、ホスト型認証サービス４５０との通信を管理する。図４に図示されたホスト型認証アーキテクチャは、多くの利益をＲＰウェブアプリケーション開発者に提供する。特に、ユーザは、任意の別の認証ベースのウェブアプリケーションによるのと同じユーザ体験を有する。加えて、依拠当事者は、認証証明書を企業内に維持する必要がなく、わずかな統合努力だけが、（以下で論じるように）ウェブアプリケーション４４０のバックエンド４４２及びフロントエンド４４１において必要である。
【００４０】
１つの実施形態では、統合プロセスは、ＲＰウェブアプリケーション４４０をホスト型認証サービス４５０によって登録することによって開始される。ウェブアプリケーション管理者（例えば、依拠当事者の情報テクノロジースタッフのメンバー）は、ホスト型認証サービス管理ポータル４５１を介するアクセスを備えていてもよく、そして、必要な詳細（例えば、以下で論じるような、ウェブアプリケーション４４０に関する情報）を提供することによってアカウントを作成してもよい。１つの実施形態では、依拠当事者管理者は、より早く管理ポータル４５１にアクセスするための認証証明書（例えば、ＰＩＮ又はパスワードのような秘密コード）を備えている。管理者は、次いで、証明書を使用して、管理ポータル４５１にログインしてもよい。１つの実施形態では、管理ポータル４５１は、管理者のブラウザを介してアクセス可能なウェブベースのポータルである。しかし、本発明の基礎原理は、管理ポータル４５１にアクセスする任意の特定方法に限定されない。
【００４１】
ウェブアプリケーション管理者は、管理ポータル４５１に、必要なログイン証明書、及びウェブアプリケーションのフロントエンドプログラムコード及びバックエンドプログラムコードにアクセスするのに必要な１つ以上のネットワークアドレスのような別の関連情報を提供してもよい。１つの実施形態では、ウェブアプリケーション４４０をホスト型認証サービス４５０によって登録するためのウェブアプリケーション管理者からのリクエストに応じて、管理ポータル４５１は、ウェブアプリケーション４４０のフロントエンド４４１（例えば、ウェブアプリのウェブページ）に組み込まれるＨＴＭＬコード４４３を生成する。ＨＴＭＬコード４４３は、ピュアＪａｖａｓｃｒｉｐｔ（登録商標）、ＨＴＭＬ  ｉｆｒａｍｅ、又は、ウェブアプリケーション４４０との互換性を有する任意の別のプログラミング言語を使用して実装されてもよい。１つの実施形態では、ＨＴＭＬコードは、ウェブアプリケーション４４０プログラムコード（例えば、フロントエンドコード４４１）と直接的に通信することになる。
【００４２】
１つの実施形態では、ホスト型認証サービスポータル４５１は、また、ウェブアプリケーションのバックエンド４４２に組み込まれるバックエンドコード４４４を生成する。管理ポータル４５１によって生成されたＨＴＭＬコード４４３及びバックエンドコード４４４の両方が、ウェブアプリケーション４４０のアクティブインスタンスに適用されることが図４に示されている。しかし、１つの実施形態では、新規コード４４３〜４４４のインストールは、（例えば、大容量記憶装置に記憶されたアプリケーションバイナリ及びライブラリに適用される）ウェブアプリケーションの実行前に実行されてもよい。
【００４３】
１つの実施形態では、ホスト型認証サービスポータル４５１は、また、暗号鍵（例えば、対称鍵又は証明書）を生成し、その暗号鍵は、本明細書において、次いでウェブアプリケーションのバックエンドインフラにおけるセキュア記憶装置４３６に記憶されるホスト型認証サービス「アサーション鍵」と呼ばれる。１つの実施形態では、鍵４３６は、次いで、バックエンド４４２によって使用されて、ホスト型認証サービス４５０アサーションを検証する（これについては以下で論じる）。ホスト型認証サービスコード４４３〜４４４をウェブアプリケーションに統合し、１つ以上の鍵４３６を提供した後に、統合は完了する。
【００４４】
一旦統合プロセスが完了すると、ウェブアプリケーションユーザは、クライアント側認証部４６５を使用して依拠当事者４３０によって認証することを開始できる。１つの実施形態では、ホスト型認証サービス４５０によって提供されるＨＴＭＬコード４４３は、認証関連の通信を含むユーザ認証体験を管理することになる。１つの実施形態では、一旦ユーザのブラウザ４６１にダウンロードされると、ＨＴＭＬコード４４３は、認証クライアント４６２と直接的に通信して、認証クライアント４６２をホスト型認証サービス４５０の認証サーバ４５５に向けることになる。１つの実施形態では、ＨＴＭＬコード４４３は、クライアント装置のブラウザ４６１にインストールされたプラグイン（例えば、図１Ａに示すセキュアトランザクションプラグイン１０１）と通信して、ホスト型認証サービス４５０及び認証クライアント４６２とのセキュア通信を可能にする。
【００４５】
１つの実施形態では、ホスト型認証サービス４５０における認証サーバ４５５は、次いで、認証リクエストを生成し、別の認証関連のメッセージを認証クライアントと交換する（例えば、図２〜図３及び関連文書を参照）。認証関連の操作（例えば、登録、ユーザ認証、登録解除など）が完了すると、ホスト型認証サービス４５０は、ホスト型認証サービスアサーション鍵４３６を使用して、暗号アサーションを介してウェブアプリケーション４４０に通知する。例えば、認証サーバ４５５は、アサーション鍵４３６を使用して、ウェブアプリケーション４４０に送られるそれぞれのアサーションに対して署名を生成してもよい。ウェブアプリケーション４４０において実行するバックエンドコード４４４は、次いで、署名を検証するために、鍵４３６のそれ自身のコピーを使用することによってアサーションを検証してもよい。同様に、バックエンドコード４４４は、ウェブアプリケーション４４０からホスト型認証サービス４５０まで任意の通信を介して送られる鍵４３６を使用して、鍵のそのコピーを使用して通信を検証し得る署名を生成してもよい。
【００４６】
１つの実施形態では、ホスト型認証サービス４５０から送られるアサーションは、認証部４６５及び認証部４６５を介して実行された認証のプロビジョニング／登録に関連する任意の情報を含んでもよい。例えば、アサーションは、ウェブアプリケーション４４０に、認証装置の登録のようなアクティビティ、並びに、セキュリティ強度（例えば、ユーザＸがＹのセキュリティ強度を有する認証部をちょうど登録した）、特定の認証部又は認証部種類を使用するユーザによる成功した認証（例えば、ユーザＸがセキュリティ強度Ｙを有する認証部によってちょうど認証した）、及び、認証部の登録解除（例えば、ユーザＸが認証部Ｙをちょうど登録解除した）というような認証装置に関する関連情報について通知してもよい。
【００４７】
アサーションは、Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＳＡＭＬ）、ＯＡｕｔｈ、ＯｐｅｎＩＤ、又は任意の別の同様の技術を使用して実装されてもよい。一部のホスト型認証サービスアーキテクチャでは、アサーションは、ホスト型認証サービスサーバ４５５からウェブアプリケーション４４０サーバまで直接的に（例えば、クライアント装置４６０を回避して）進行してもよい。代替の実装では、アサーションは、クライアント装置４６０を介して（例えば、次いで、アサーションをウェブアプリケーション４４０に転送するブラウザ４６１に送られるＪａｖａｓｃｒｉｐｔとして）送られてもよい。
【００４８】
図５は、本発明の１つの実施形態にしたがって、ホスト型認証サービスによって依拠当事者を登録する方法を図示し、そして、図６は、ホスト型認証サービスによって認証装置の登録及び登録解除並びにユーザ認証のような操作を実行する方法を図示している。方法は、図４に示すアーキテクチャの局面の範囲内で実装されてもよく、なんらかの特定のシステムアーキテクチャに限定されることはない。
【００４９】
５０１では、依拠当事者管理者は、ホスト型認証サービスの管理ポータルに（例えば、提供された証明書を使用して）ログインし、そして、新規の依拠当事者アカウントを作成するために必要なデータを提供する。これは、ネットワークを介して１つ以上の依拠当事者ウェブアプリケーションを識別するのに必要なネットワークデータ、及び、場合によっては、ウェブアプリケーション（特に、ウェブアプリケーションのフロントエンドプログラムコード及びバックエンドプログラムコード）にアクセスするための認証証明書（例えば、ユーザ名／パスワード）を含んでもよい。
【００５０】
５０２では、ウェブアプリケーションをホスト型認証サービスによって登録するというウェブアプリケーション管理者からのリクエストに応じて、管理ポータルは、ウェブアプリケーションのフロントエンド（例えば、ウェブアプリのウェブページ）に組み込まれるフロントエンドコード（例えば、ＨＴＭＬコード）、及び、ウェブアプリケーションのバックエンドに組み込まれるバックエンドコードを生成する。更に、５０２では、ホスト型認証サービスポータルは、暗号アサーション鍵（例えば、対称鍵又は証明書）を生成する。
【００５１】
５０３では、フロントエンドコード、バックエンドコード、及びアサーション鍵が、依拠当事者に伝送される。５０４では、依拠当事者は、フロントエンドコード及びバックエンドコードをそのプラットホームに統合し、アサーション鍵をセキュアに記憶する。上記のように、１つの実施形態では、アサーション鍵は、続いて、ホスト型認証サービスアサーションを検証するために使用される。
【００５２】
ここで図６を参照すると、６０１では、１つ以上の認証装置を備えるクライアント装置が、依拠当事者のウェブサイトに接続し、フロントエンドコードを含むウェブページをダウンロードする。一部の例では、ウェブページは、（フロントエンドコード自体ではなく）フロントエンドコードによってダイナミックに生成されたコードを含んでもよい。本明細書において用いるとき、「フロントエンドコード」とは、フロントエンドコード自体と、クライアント装置での使用のためにフロントエンドコードによってダイナミックに生成されるコードとの両方を指す。
【００５３】
６０２では、フロントエンドコードは、クライアント装置における認証クライアント、及びホスト型認証サービス（又は、より正確には、ホスト型認証サービスでの認証サーバ）との通信を確立する。６０３では、１つ以上のトランザクション、例えば、新規の認証部を登録すること、ユーザ認証を実行すること、及び／又は認証部を登録解除することが実行される。
【００５４】
６０４では、ホスト型認証サービスは、アサーション鍵を使用して、トランザクションに関連する暗号アサーションを生成する。例えば、暗号アサーションは、新規の登録された認証部、登録解除された認証部、認証部の正確性／精度（例えば、認証部強度）のような認証部に関連する情報、及び、認証部によるユーザ認証を表示してもよい。上記のように、暗号アサーションは、アサーション鍵によって署名されてもよい。
【００５５】
６０５では、暗号アサーションは、依拠当事者に伝送され、６０６では、アサーション鍵を使用してアサーションを検証する。例えば、バックエンドコードは、アサーション鍵を取得し、それ自身の署名を生成し、そして、生成された署名をホスト型認証サービスから送られた署名と比較してもよい。署名が一致する場合、アサーションが検証され、そして、ユーザは、アサーションに基づいてトランザクションを実行することを許可され得る。例えば、アサーションが、ユーザがホスト型認証サービスによって首尾よく認証されたことを表示する場合、依拠当事者は、認証を受け入れて、ユーザがトランザクション（例えば、金融トランザクション、プライベートデータへのアクセスなど）を完了することを許可してもよい。
【００５６】
１つの実施形態では、ホスト型認証サービスは、例えば、Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＳＡＭＬ）、ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔｉｏｎ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）Ｗｅｂ  Ｓｉｇｎａｔｕｒｅｓ、ＯＡｕｔｈ、又は、ホスト型認証サービスアサーションを依拠当事者に送るための類似技術を含む様々な異なるプロトコル／言語を使用して実装されてもよい。更に、ホスト型認証サービスシステムは、（例えば、ホスト型認証サービスアサーションについて依拠当事者のウェブサイトに通信する）依拠当事者のウェブページに埋め込まれたフロントエンド及びバックエンドコードに対してｉｆｒａｍｅを使用してもよい。しかし、発明の基礎原理は、任意の特定のプロトコル及び／又はプログラミング言語に限定されないことに留意すべきである。
【００５７】
本明細書で説明された本発明の実施形態は、エンドユーザのプライバシーがより良好に保護されるとの理由から、既存のフェデレーションアイデンティティサーバ及びアイデンティティプロバイダーよりも好ましい。依拠当事者自身がユーザに関連する情報を有してもよいが、この情報は、本明細書で説明されるホスト型認証技術を実装するためには、認証ホスティングサービス（又は、任意の別の依拠当事者）と共有される必要がない。このことは、依拠当事者が異なる依拠当事者にわたってユーザを追跡することを可能にする既存のアイデンティティプロバイダー及びフェデレーションサーバとは対照的である。
【００５８】
例示的なデータ処理装置
図７は、本発明のいくつかの実施形態において使用することができる例示的なクライアント及びサーバを図示するブロック図である。図７は、コンピュータシステムの様々な構成要素を図示しているが、そのような詳細は本発明に適切でないため、構成要素を相互接続する任意の特定のアーキテクチャ又は方法を表すことを意図するものではないことを理解すべきである。より少ない構成要素又は複数の構成要素を有する他のコンピュータシステムもまた、本発明によって使用可能であることが理解されるであろう。
【００５９】
図７に図示されたように、データ処理システムの形態であるコンピュータシステム７００は、処理システム７２０に結合されているバス７５０と、電源７２５と、メモリ７３０と、不揮発性メモリ７４０（例えば、ハードドライブ、フラッシュメモリ、相変化メモリ（ＰＣＭ）など）とを含む。バス７５０は、当該技術分野において周知であるように、様々なブリッジ、コントローラ及び／又はアダプタを介して互いに接続され得る。処理システム７２０は、メモリ７３０及び／又は不揮発性メモリ７４０から命令を取得することができ、上述したように動作を実行するための命令を実行することができる。バス７５０は、上記構成要素を一体に相互接続し、また、任意のドック７６０、ディスプレイコントローラ及びディスプレイ装置７７０、入力／出力装置７８０（例えば、ＮＩＣ（ネットワークインターフェースカード）、カーソル制御（例えば、マウス、タッチスクリーン、タッチパッドなど）、キーボードなど）及び任意の無線送受信機７９０（例えば、ブルートゥース（登録商標）、ＷｉＦｉ、赤外線など）にそれらの構成要素を相互接続する。
【００６０】
図８は、本発明のいくつかの実施形態において使用され得る例示的なデータ処理システムを図示するブロック図である。例えば、データ処理システム８００は、ハンドヘルドコンピュータ、パーソナルディジタルアシスタント（ＰＤＡ）、携帯電話、ポータブルゲームシステム、ポータブルメディアプレーヤ、タブレット、又は、携帯電話、メディアプレーヤ及び／又はゲームシステムを含むことができるハンドヘルドコンピューティング装置とすることができる。他の例として、データ処理システム８００は、ネットワークコンピュータ又は他の装置内の埋め込み処理装置とすることができる。
【００６１】
本発明の１つの実施形態によれば、データ処理システム８００の例示的なアーキテクチャは、上述した携帯機器のために使用することができる。データ処理システム８００は、集積回路上の１つ以上のマイクロプロセッサ及び／又はシステムを含むことができる処理システム８２０を含む。処理システム８２０は、メモリ８１０、（１つ以上のバッテリを含む）電源８２５、オーディオ入力／出力８４０、ディスプレイコントローラ及びディスプレイ装置８６０、任意の入力／出力８５０、入力装置８７０及び無線送受信機８３０に連結されている。図８には示されていない追加の構成要素はまた、本発明の特定の実施形態においてデータ処理システム８００の一部であってもよく、本発明の特定の実施形態において図８に示されるよりも少ない構成要素が使用可能であることが理解されるであろう。更に、図８には示されていない１つ以上のバスは、当該技術分野において周知であるように様々な構成要素を相互接続するために使用することができることが理解されるであろう。
【００６２】
メモリ８１０は、データ処理システム８００による実行のためのデータ及び／又はプログラムを記憶する。オーディオ入力／出力８４０は、例えば、音楽を再生するためにマイクロフォン及び／又はスピーカを含むことができ、並びに／又はスピーカ及びマイクロフォンを介して電話機能を提供することができる。ディスプレイコントローラ及びディスプレイ装置８６０は、グラフィカルユーザインターフェース（ＧＵＩ）を含むことができる。無線（例えば、ＲＦ）送受信機８３０（例えば、ＷｉＦｉ送受信機、赤外線送受信機、ブルートゥース送受信機、無線携帯電話送受信機など）は、他のデータ処理システムと通信するために使用することができる。１つ以上の入力装置８７０は、ユーザがシステムに入力を提供するのを可能にする。これらの入力装置は、キーパッド、キーボード、タッチパネル、マルチタッチパネルなどであってもよい。任意の他の入力／出力８５０は、ドック用コネクタであってもよい。
【００６３】
上述したように、本発明の実施形態は、様々な工程を含んでもよい。工程は、汎用又は特殊目的のプロセッサに特定の工程を実行させる機械実行可能な命令で具現化され得る。代替的に、これらの工程は、工程を実行するためのハードワイヤードロジックを含む特定のハードウェア構成要素によって又はプログラミングされたコンピュータ構成要素及びカスタムハードウェア構成要素の任意の組み合わせによって実行することができる。
【００６４】
本発明の要素はまた、機械実行可能なプログラムコードを記憶する機械可読媒体として提供することができる。機械可読媒体としては、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ及び光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、又は、電子プログラムコードを記憶するのに適した他の種類の媒体／機械可読媒体を挙げることができるが、これらに限定されるものではない。
【００６５】
上記の説明全体を通じて、説明の目的のために、多数の具体的な詳細が本発明の完全な理解を提供するために記載された。しかしながら、本発明は、これらの具体的な詳細の一部がなくても実施され得ることは、当業者にとって明らかであろう。例えば、本明細書に記載された機能モジュール及び方法は、ソフトウェア、ハードウェア又はそれらの任意の組み合わせとして実装されてもよいことは、当業者にとって容易に明らかであろう。更に、本発明のいくつかの実施形態は、モバイルコンピューティング環境のコンテキストで本明細書において記載されているが、本発明の基本原理は、モバイルコンピューティングの実装に限定されるものではない。実質的に任意の種類のクライアント又はピアデータ処理装置は、例えば、デスクトップ又はワークステーションコンピュータを含むいくつかの実施形態で使用することができる。したがって、本発明の範囲及び趣旨は、以下の特許請求の範囲の観点から判断されるべきである。
【００６６】
上述したように、本発明の実施形態は、様々な工程を含んでもよい。工程は、汎用又は特殊目的のプロセッサに特定の工程を実行させる機械実行可能な命令で具現化され得る。代替的に、これらの工程は、工程を実行するためのハードワイヤードロジックを含む特定のハードウェア構成要素によって又はプログラミングされたコンピュータ構成要素及びカスタムハードウェア構成要素の任意の組み合わせによって実行することができる。
【図１Ａ】
0006530049.tif 000002
【図１Ｂ】
0006530049.tif 000003
【図２】
0006530049.tif 000004
【図３】
0006530049.tif 000005
【図４】
0006530049.tif 000006
【図５】
0006530049.tif 000007
【図６】
0006530049.tif 000008
【図７】
0006530049.tif 000009
【図８】
0006530049.tif 000010