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