(57)【要約】【課題】安全なユーザ認証ためのシステム及び方法。【解決手段】ある特定の実施形態において、スマートフォン等のクライアントデバイスには、安全な鍵及び／または他の秘密情報がプロビジョニングされ得る。クライアントデバイスは、認証プロセスと関連して使用される固有の安全なトークン及び／または他の信用証明書を生成するために使用され得る。ユーザは、管理されたサービスにアクセスする要求と関連して、生成されたトークン及び／または他の信用証明書をサービスプロバイダに提供し得る。生成されたトークン及び／または他の信用証明書の有効性は、サービスプロバイダと通信している認証サービスによって確認され得る。【選択図】図６
2016520230.tif 000002
【特許請求の範囲】
【請求項１】
管理されたリソースへのユーザのアクセス権を認証するためのシステムによって行われる方法であって、
管理されたリソースと関連付けられたサービスプロバイダシステムから、前記ユーザによって前記サービスプロバイダシステムに提供された認証信用証明書を受け取ることであって、前記認証信用証明書は、前記ユーザと関連付けられたクライアントデバイスによって生成される第１の安全なトークンを含む、受け取ることと、
前記認証信用証明書に基づいて、第１の安全な鍵を取り出すことと、
前記第１の安全な鍵に基づいて、第２の安全なトークンを生成することと、
前記第１の安全なトークンを前記第２の安全なトークンと比較することと、
前記比較の結果に基づいて、認証結果を生成することと、
前記認証結果を前記サービスプロバイダシステムに送信することと、
を含む、方法。
【請求項２】
前記方法は、
前記比較の前記結果に基づいて、前記第１の安全なトークンが前記第２の安全なトークンと一致すると判定することをさらに含み、
前記認証結果は、前記第１の安全なトークンが有効であるという表示を含む、請求項１に記載の方法。
【請求項３】
前記方法は、
前記比較の前記結果に基づいて、前記第１の安全なトークンが前記第２の安全なトークンと一致しないと判定することをさらに含み、
前記認証結果は、前記第１の安全なトークンが有効でないという表示を含む、請求項１に記載の方法。
【請求項４】
前記第２の安全なトークンを生成することは、
前記第１の安全な鍵、ならびに前記システム及び前記クライアントデバイスに共通する他の情報に基づいて、計算を行うことを含む、請求項１に記載の方法。
【請求項５】
前記計算は、暗号ハッシュ計算を含む、請求項４に記載の方法。
【請求項６】
前記計算は、時間ベースのワンタイムパスワード（「ＴＯＴＰ」）計算を含む、請求項４に記載の方法。
【請求項７】
前記計算は、ＨＭＡＣベースのワンタイムパスワード（「ＨＯＴＰ」）計算を含む、請求項４に記載の方法。
【請求項８】
前記他の情報は、クロックによって提供される値を含む、請求項４に記載の前記方法。
【請求項９】
前記他の情報は、カウンタによって提供される値を含む、請求項４に記載の方法。
【請求項１０】
前記第１の安全なトークンを前記第２の安全なトークンと比較することは、前記第１の安全なトークン及び前記第２の安全なトークンがいずれも特定の期間内に生成されたと判定することを含む、請求項１に記載の方法。
【請求項１１】
前記管理されたリソースは、オンラインサービスを含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、ワンタイムパスワード（「ＯＴＰ」）認証プロセスを使用した安全なユーザ認証を容易にするシステム及び方法に関する。
【０００２】
［関連出願の相互参照］
本出願は、米国特許法第１１９条（ｅ）の下で、２０１３年５月２３日に出願された米国仮特許出願第６１／８２６，６１３号、表題「ＳＥＣＵＲＥ  ＡＵＴＨＯＲＩＺＡＴＩＯＮ  ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ」に対する優先権の利益を主張するものであり、その内容は、参照によりその全体が本明細書に組み込まれる。
【０００３】
［著作権承認］
本特許文献の開示の一部分は、著作権保護を受ける資料を含み得る。著作権所有者は、米国特許商標局の特許ファイルまたは記録に現れるような特許文書または特許開示を、第三者がファクシミリで複製することに異存はないが、その他の場合には、著作権に関する全ての権利を保有するものである。
【発明の概要】
【０００４】
ユーザ認証技術は、様々な用途に使用することができる。例えば、ユーザ認証プロセスは、（例えば、金融記録、個人記録、機密記録、業務記録、もしくは医療記録、及び／または同類のものへのアクセスを提供する、オンラインまたは販売時点金融取引の場合のように、ユーザが機密データにアクセスすることを許可する前に、及び／またはユーザがデータに対して機密操作を行うことを許可する前に、ユーザの識別情報または同類のものを検証することによって）オンラインサービス等のリソースを管理するコンピュータシステムが、リソースへのアクセスを提供する前に、ユーザがリソースへのアクセス権を有することを確認することを可能にする。同様に、ユーザ認証は、物理的アクセスまたは在庫管理システムと関連して使用され得、ある特定の識別信用証明書の示された所有権（例えば、建物及び／もしくは建物内のある領域または同類のものへのアクセス、病院内の医療用在庫キャビネットへのアクセス、等）に基づいて、保護された領域及び／または在庫へのユーザの物理的アクセス権を検証することを可能にする。
【０００５】
本明細書で開示されるシステム及び方法は、ワンタイムパスワード（「ＯＴＰ」）認証プロセスを使用した安全なユーザ認証を容易にする。開示される実施形態と一致するＯＴＰ認証プロセスは、経時的に変化する、ならびに／または単一の認証トランザクションに対して、及び／または特定の期間にわたって有効である、パスワード、鍵、及び／または他の適切な信用証明書を使用し得る。ある実施形態において、開示されるＯＴＰ認証プロセスと関連して使用されるパスワード、鍵、及び／または他の適切な信用証明書は、ユーザが認証トランザクションを行うことを望むときに、ランダムプロセス及び／または擬似乱数プロセスに基づいて生成され得る。とりわけ、本明細書で開示される実施形態と一致するＯＴＰ認証プロセスは、不正なパーティによるリプレイアタックからの強化された保護を含む、静的パスワード認証プロセスに勝る、ある特定の利点を提供し得る。
【０００６】
ある特定の実施形態において、ユーザは、例えば、開示されるＯＴＰ認証プロセスと関連するスマートフォンまたは他のモバイルデバイス等の、クライアントデバイスを使用し得る。クライアントデバイス及び／またはクライアントデバイス上で実行するアプリケーションには、安全な鍵、ならびに／またはＯＴＰ認証プロセスと関連して使用されるトークン、パスワード、鍵、及び／または他の信用証明書を生成するために使用され得る他の秘密情報がプロビジョニングされ得る。いくつかの実施形態において、安全な鍵及び／または他の秘密情報は、認証サービスプロバイダ及び／または他の信頼できる機関によってプロビジョニングされ得る。
【０００７】
安全な鍵及び／または他の秘密情報に基づいて、クライアントデバイスは、ＯＴＰ認証プロセスと関連して使用するためのトークン、パスワード、鍵、及び／または他の信用証明書を生成し得る。クライアントデバイスのユーザは、リソースにアクセスするユーザの権利を検証するために、生成したトークン、パスワード、鍵、及び／または他の信用証明書を、リソースを管理するシステム（例えば、サービスプロバイダシステム、アクセス制御システム等）に提供する。ある特定の実施形態において、システムは、認証サービスシステムと通信して、ユーザが管理されたリソースにアクセスする特定の権利を有するかどうかを判定することと関連する、ユーザによって提供されるトークン、パスワード、鍵、及び／または他の信用証明書の信頼性を検証する。
【０００８】
開示されるＯＴＰユーザ認証プロセスの実施形態と関連してスマートフォン等のクライアントデバイスを使用することは、例えばキーカードまたはドングルのような分離した専用の認証デバイスの必要性を取り除くことによって、展開コストを削減し得、及び／またはＯＴＰベースの認証を採用し易くし得る。加えて、開示されるシステム及び方法のいくつかの実施形態は、ショートメッセージサービス（「ＳＭＳ」）ＯＴＰ認証プロセスの場合にあり得るように、トークン、パスワード、鍵、及び／または他の信用証明書が生成されるときに、及び／または別様には、それらがユーザに提供されるときに、クライアントデバイスが、他のシステム及び／またはサービスに対してある特定の接続性を有することを必要とし得ない。さらに、クライアントデバイス上で実行するサードパーティの認証サービス及び／またはダウンロード可能なトークン認証アプリケーションの使用は、様々な管理されたリソース及び／またはサービスと関連する、開示される安全なＯＴＰユーザ認証プロセスの実施形態の統合を容易にし得る。
【図面の簡単な説明】
【０００９】
本発明の作用の主体は、添付図面と併せて以下の詳細な説明を参照することによって容易に理解されるであろう。
【図１】本開示の実施形態と一致する、安全なユーザ認証のためのシステムを例示する図である。
【図２】本開示の実施形態と一致する、安全なユーザ認証のためのモバイルアプリケーションのインターフェースを例示する図である。
【図３】本開示の実施形態と一致する、安全なユーザ認証を実現するサービスインターフェースを例示する図である。
【図４】本開示の実施形態と一致する、モバイルデバイスによって認証トークンを生成するための方法のフローチャートを例示する図である。
【図５】本開示の実施形態と一致する、サービスプロバイダのユーザ認証のための方法のフローチャートを例示する図である。
【図６】本開示の実施形態と一致する、ユーザを認証するための方法のフローチャートを例示する図である。
【図７】本開示のシステム及び方法のある特定の実施形態を実現するために使用され得るシステムを例示する図である。
【発明を実施するための形態】
【００１０】
本開示の実施形態と一致するシステム及び方法の詳細な説明は、下に提供される。複数の実施形態が説明されるが、本開示は、任意の一実施形態に限定されるものではなく、代わりに、多数の代替物、変形物、均等物を包含することを理解されたい。加えて、本明細書で開示される実施形態の完全な理解を提供するために、多数の具体的な詳細が以下の説明に記載されるが、いくつかの実施形態は、これらの詳細の一部または全てを伴わずに実践することができる。さらに、明確にする目的で、関連技術において知られているある特定の技術資料は、本開示を不必要に不明瞭にすることを回避するために、詳細に説明されていない。
【００１１】
本開示の実施形態は、図面を参照することによって理解され得、同じ部分は、同じ数字によって表され得る。開示される実施形態の構成要素は、全般的に本明細書で図面において説明され、例示されるように、多種多様な異なる構成で配設し、設計することができる。したがって、本開示のシステム及び方法の実施形態の以下の詳細な説明は、特許請求される本開示の範囲を限定することを意図するものではなく、単に、本開示の可能な実施形態を表したものに過ぎない。加えて、本明細書で開示される任意の方法のステップは、別途指定されない限り、必ずしも任意の特定の順序で、さらには連続的に実行する必要があるというわけではなく、また、ステップを１度だけ実行する必要があるというわけでもない。
【００１２】
本明細書で開示される実施形態は、安全なユーザ認証を可能にする。ある特定の実施形態において、本明細書で説明されるシステム及び方法は、例えば、２００６年１０月１８日に出願され、米国特許出願公開第２００７／０１８０５１９  Ａ１号として公開された、本発明の譲受人に譲渡された、同時係属で係属中の米国特許出願第１１／５８３，６９３号「Ｄｉｇｉｔａｌ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ  Ｅｎｇｉｎｅ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ」（「６９３号出願」）で説明されているもの等の、デジタル権利管理（「ＤＲＭ」）技術、及び／または本発明の譲受人に譲渡された、米国特許第８，２３４，３８７号、「Ｉｎｔｅｒｏｐｅｒａｂｌｅ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｓｅｒｖｉｃｅ  Ｏｒｃｈｅｓｔｒａｔｉｏｎ」（「３８７号特許」）で説明されているもの等の、サービス編成及びＤＲＭ技術と関連して使用することができる。これらのシステム及び方法は、その中で用いられる構成要素、システム、及び方法の多くと同様に、新規であることが認識されるであろう。
【００１３】
図１は、本開示の実施形態と一致する、安全なユーザ認証のためのシステムを例示する。ある特定の実施形態において、ユーザ１００は、例えばサービスプロバイダシステム１０２によって管理されるオンラインサービス１０４（例えば、オンライン金融アカウント、データベース等）等の、リソースにアクセスすることを望み得る。ある特定の実施形態において、ユーザ１００は、モバイルデバイス１１０及び／またはコンピュータ１０１を使用して、サービスプロバイダのシステム１０２にリモートにアクセスし得る。他の実施形態において、ユーザは、（例えば、ＰＯＳ端末、ＡＴＭ、キオスク、及び／または同類のものの場合と同様であり得るように）サービスプロバイダのシステム１０２に直接アクセスし得る。したがって、いくつかの実施形態において、システム１０１、１０２、及び／または１１０によって行われる動作のいくつかは、図１と関連して提供される以下の実例となる説明と異なって組み合わせられ得るか、または分配され得ることを認識するであろう。さらに、オンラインサービス１０４と関連して例示されているが、サービスプロバイダシステム１０２は、ユーザ１００がアクセスすることを望み得る様々な他の種類のリソースへのアクセスを管理し得ることが認識されるであろう。例えば、いくつかの実施形態において、サービスプロバイダシステム１０２は、１人以上のユーザによる保護された領域、ある特定の在庫品目、及び／または同類のものへの物理的アクセスを管理するように構成された物理的アクセス及び／または在庫管理システムを備え得る。
【００１４】
開示されるシステム及び方法のある特定の実施形態と一致して、サービスプロバイダシステム１０２は、ユーザ１００が管理されたリソースへのアクセス権を有することを検証するために、安全な認証プロセスを実現し得る。例えば、ある特定の実施形態では、安全なトークン１２０の知識をサービスプロバイダシステム１０２及び／または別の関連システムに示すことによって、ユーザ１００は、サービスプロバイダシステム１０２によって管理されるリソースへのユーザのアクセス権を検証し得る。下でさらに詳細に論じるように、ある特定の実施形態において、ユーザ１００は、安全なトークン１２０を生成するために、クライアントデバイス１１０上で実行する認証トークンアプリケーション１１６を使用し得る。いくつかの実施形態において、安全なトークン１２０は、安全な鍵１１４に少なくとも部分的に基づいて生成され得る。いくつかの実施形態において、安全な鍵１１４は、認証サービスシステム１０６の個人化サービス１１２によって、クライアントデバイス１１０にプロビジョニングされ得る。いくつかの実施形態において、認証サービスシステム１０６は、ユーザ１００によって（例えば、デバイス１０１及び／または１１０を介して）システム１０２に提供される安全なトークン１２０を検証することと関連して、サービスプロバイダシステム１０２と通信し得る。ある特定の実施形態において、認証サービスシステム１０６は、表現的状態転送（「ＲＥＳＴ」）ＡＰＩを使用するＨＴＴＰ認証サービスを備え得る。別個のシステムとして例示されているが、他の実施形態では、サービスプロバイダシステム１０２、認証サービスシステム１０６、ならびに／またはクライアントデバイス１０１及び１１０のある特定の機能が、単一のシステムによって、及び／または任意の適切なシステムの組み合わせによって行われ得ることを認識されるであろう。
【００１５】
サービスプロバイダシステム１０２、認証サービスシステム１０６、クライアントデバイス１１０、クライアントデバイス１０１、及び／または１つ以上の他の関連システム（図示せず）は、本明細書で開示されるシステム及び方法の実施形態を実現するように構成された任意の適切なコンピューティングシステムまたはシステムの組み合わせを備え得る。ある特定の実施形態において、サービスプロバイダシステム１０２、認証サービスシステム１０６、クライアントデバイス１０１及び／もしくは１１０、ならびに／または他の関連システムは、関連非一時的コンピュータ可読記憶媒体に記憶された命令を実行するように構成された少なくとも１つのプロセッサシステムを備え得る。下でさらに詳細に論じるように、サービスプロバイダシステム１０２、認証サービスシステム１０６、クライアントデバイス１０１及び／もしくは１１０、ならびに／または他の関連システムは、信頼できる信用証明書及び／または鍵の管理、トークンの生成及び／または検証、ならびに／または本明細書で開示されるシステム及び方法の他の態様等の機密動作を行うように構成された安全な処理ユニット（「ＳＰＵ」）をさらに備え得る。サービスプロバイダシステム１０２、認証サービスシステム１０６、クライアントデバイス１０１及び／もしくは１１０、ならびに／または他の関連システムは、１つ以上の関連ネットワーク接続を介してシステム１０１、１０２、１０６、１１０の間の情報の電子通信を可能にするように構成されたソフトウェア及び／またはハードウェアをさらに備え得る。
【００１６】
サービスプロバイダシステム１０２、認証サービスシステム１０６、ならびに／またはクライアントデバイス１０１及び／もしくは１１０は、本明細書で開示されるシステム及び方法の実施形態を実現するように構成された１つ以上のアプリケーションを実行するコンピューティングデバイスを備え得る。ある特定の実施形態において、サービスプロバイダシステム１０２、認証サービスシステム１０６、ならびに／またはクライアントデバイス１０１及び／もしくは１１０は、開示されるシステム及び方法と関連して利用され得る、ラップトップコンピュータシステム、デスクトップコンピュータシステム、スマートフォン、タブレットコンピュータ、サーバシステム、ゲーミングシステム、現金自動預払機（ＡＴＭ）、キオスク、ならびに／または任意の他のコンピューティングシステム及び／もしくはデバイスを備え得る。ある特定の実施形態において、サービスプロバイダシステム１０２、認証サービスシステム１０６、ならびに／またはクライアントデバイス１０１及び／もしくは１１０は、とりわけ、安全な鍵１１４をプロビジョニングし、安全なトークン１２０を生成し、リソースへのアクセスを管理し、かつ／または安全なトークン１２０の信頼性を検証するように構成されたソフトウェア及び／またはハードウェアを備え得る。いくつかの実施形態において、そのような機能は、サービスプロバイダシステム１０２、認証サービスシステム１０６、ならびに／またはクライアントデバイス１０１及び／もしくは１１０上で実行する１つ以上のアプリケーション（例えば、認証サービス１０８、個人化サービス１１２、認証トークンアプリケーション１１６、及び／またはオンラインサービス１０４）を使用して実現され得る。
【００１７】
ある特定の開示される実施形態は、汎用クライアントデバイス１１０を、安全なタグの認証及び／または存在確認と関連して使用することを可能にし得る。例えば、ある特定の実施形態では、開示される実施形態のある特定の態様を実現するために、認証トークンアプリケーション１１６（例えば、安全なトークンの生成と関連して使用するための認証サービスシステム１０６及び／または別の信頼できるサービスプロバイダによって提供されるアプリケーション）を実行する汎用スマートフォン及び／またはタブレットコンピューティングデバイスが利用され得る。いくつかの実施形態において、クライアントデバイス１１０として汎用スマートフォン及び／またはタブレットコンピューティングデバイスを使用することは、展開コストを削減し得、及び／または開示されるシステム及び方法の実施形態を実現する、ＯＴＰベースの認証プロセスを採用し易くし得る。
【００１８】
種々のシステム１０２、１０６、１１０は、任意の適切な数のネットワーク及び／またはネットワーク接続を備える１つ以上ネットワークを介して通信し得る。ネットワーク接続は、様々なネットワーク通信デバイス及び／またはチャネルを備え得、また、接続されたデバイスとシステムとの間の通信を促進する任意の適切な通信プロトコル及び／または規格を利用し得る。ネットワーク接続は、例えば、インターネット、ローカルエリアネットワーク、仮想プライベートネットワーク、ならびに／または１つ以上の電子通信技術及び／もしくは規格（例えば、イーサネット（登録商標）または同類のもの）を利用する任意の他の通信ネットワークを備え得る。いくつかの実施形態において、ネットワーク接続は、パーソナル通信システム（「ＰＣＳ」）等の無線キャリアシステム、及び／または任意の適切な通信規格及び／またはプロトコルを組み込んだ任意の他の適切な通信システムを備え得る。さらなる実施形態において、ネットワーク接続は、例えば、符号分割多重アクセス（「ＣＤＭＡ」）、モバイル通信用グローバルシステムもしくはＧｒｏｕｐｅ  Ｓｐｅｃｉａｌ  Ｍｏｂｉｌｅ（「ＧＳＭ」）、周波数分割多重アクセス（「ＦＤＭＡ」）、及び／または時分割多重アクセス（「ＴＤＭＡ」）技術を利用する、アナログモバイル通信ネットワーク及び／またはデジタルモバイル通信ネットワークを備え得る。ある特定の実施形態において、ネットワーク接続は、１つ以上の衛星通信リンクを組み込み得る。なおさらなる実施形態において、ネットワーク接続は、ＩＥＥＥの８０２．１１規格、Ｂｌｕｅｔｏｏｔｈ（登録商標）、超広帯域（「ＵＷＢ」）、Ｚｉｇｂｅｅ（登録商標）、及び／または任意の他の適切な通信プロトコル（複数可）を利用し得る。
【００１９】
オンラインサービス１０４によって認証することを望むユーザ１００は、個人化サービス１１２によって個人化されるモバイルデバイス等の、クライアントデバイス１１０を有し得る。個人化サービス１１２は、認証サービスシステム１０６及び／または別の信頼できる機関と関連付けられ得る。クライアントデバイス１１０を個人化するために、ユーザ１００は、最初に、認証サービスシステム１０６及び／または他の信頼できる機関によって、自分の識別情報及び／または自分のオンラインサービス１０４へのアクセス権を認証し得る。ある特定の実施形態では、認証サービスシステム１０６及び／または他の信頼できる機関によってユーザの識別情報及び／またはオンラインサービス１０４へのアクセス権を認証することと関連して、ユーザ名及び／またはパスワード認証、生体認証、個人識別番号認証、及び／または任意の他の適切な種類の認証技法が利用され得る。
【００２０】
ある特定の実施形態において、ユーザ認証は、ユーザ１００、サービスプロバイダシステム１０２及び／もしくはオンラインサービス１０４、ならびに／または認証サービスシステム１０６が関与する取引と関連して行われ得る。例えば、ユーザ１００は、オンラインサービス１０４へのアクセス権を購入することを望み得る。購入トランザクションの一部として、オンラインサービス１０４へのユーザのアクセス権及び個人化された関連クライアントデバイス１１０を有する権利は、認証サービスシステム１０６及び／または他の信頼できる機関によって認証され得る。
【００２１】
認証サービスシステム１０６及び／または他の信頼できる機関によってユーザ１００を認証すると、個人化サービス１１２は、本明細書で開示される実施形態と一致する安全なＯＴＰユーザ認証プロセスと関連して使用するためのクライアントデバイス１１０を個人化し得る。ある特定の実施形態において、個人化プロセスの一部として、クライアントデバイス１１０には、安全なＯＴＰトークン１２０を生成するために使用され得る安全な鍵１１４及び／または他の秘密情報がプロビジョニングされ得る。いくつかの実施形態において、安全な鍵１１４は、関連クライアントデバイス１１０に固有の鍵であり得る。本明細書で開示される実施形態は、安全な鍵１１４に関して論じられているが、ＯＴＰ認証プロセスの実施形態と関連して使用されるトークン、パスワード、鍵、及び／または他の信用証明書を生成するために使用され得る任意の他の秘密情報も使用され得ることが認識されるであろう。下でさらに詳細に論じるように、ある特定の実施形態において、認証サービスシステム１０６及び／または他の信頼できる機関によってクライアントデバイス１１０にプロビジョニングされる安全な鍵１１４は、クライアントデバイス１１０上で動作する安全な鍵箱１１８に記憶され得る。
【００２２】
クライアントデバイス１１０には、とりわけ、ユーザ１００が、安全なＯＴＰ認証プロセスと関連して安全なトークン１２０を生成する要求を行うこと、及び／またはそのような安全なトークン１２０を生成することを可能にするように構成された認証トークンアプリケーション１１６がさらにプロビジョニングされ得る。ある特定の実施形態において、認証トークンアプリケーション１１６は、認証サービスシステム１０６及び／または別の信頼できる機関によって、クライアントデバイス１１０に提供され得る。さらなる実施形態において、認証トークンアプリケーション１１６は、「アプリストア」または同類のもの等の様々なアプリケーションを提供するオンラインリソースから、クライアントデバイス１１０にダウンロードされ得る。
【００２３】
オンラインサービス１０４へのユーザのアクセス権を認証するために、いくつかの実施形態において、ユーザは、最初に、クライアントデバイス１１０及び／またはその上で実行する認証トークンアプリケーション１１６によって安全なトークン１２０を生成する要求を行い得る。他の実施形態において、そのような要求は、例えばサーバ１０２によって、及び／またはユーザのデバイスの上で動作するクライアントアプリケーションによって自動的に行うことができる。本明細書で開示されるいくつかの実施形態は、安全なトークン１２０に関して論じられるが、他の実施形態は、開示される認証プロセスの実施形態と関連して、生成されるトークン、パスワード、鍵、及び／または他の信用証明書を利用し得ることが認識されるであろう。下でさらに詳細に論じるように、ある特定の実施形態において、安全なトークン１２０は、例えば、安全なトークン１２０の生成中に、安全な鍵１１４及び／または関連した安全なトークン生成アルゴリズムの秘密性及び／または完全性を保護するように構成された安全な鍵箱１１８等の、保護された処理環境の中で生成され得る。
【００２４】
いくつかの実施形態において、安全なトークン１２０は、安全な鍵１１４に少なくとも部分的に基づいて生成され得る。ある特定の実施形態において、安全なトークン１２０は、安全な鍵１１４、及び、例えば同期されたカウンタ及び／またはクロックによって提供される値等の、クライアントアプリケーション１１０と認証サービスシステム１０６との間で共有される他の情報を使用して算出を行うことによって生成され得る。例えば、いくつかの実施形態において、安全なトークン１２０は、安全な鍵１１４及びクロックによって提供される値を使用して、暗号ハッシュ及び／またはダイジェスト算出を行うことによって生成され得る。さらなる実施形態において、安全な鍵１１４を生成することと関連して使用される他の情報は、共有された非ランダム値、ランダム値、及び／または擬似ランダム値であり得る。ある特定の実施形態において、安全なトークン１２０を生成することと関連して使用される情報（例えば、安全な鍵１４４、カウンタ及び／またはクロックによって提供される値等）は、クライアントデバイス１１０及び／または認証サービスシステム１０６の双方が利用可能であり得、及び／または別様には、それらと同期もしくは共有され得る。いくつかの実施形態において、安全なトークン１２０は、時間ベースのワンタイムパスワード（「ＴＯＴＰ」）アルゴリズムを使用して生成され得る。
【００２５】
安全なトークン１２０は、様々な他の方法で生成され得る。例えば、いくつかの実施形態において、安全なトークン１２０は、ＨＭＡＣベースのワンタイムパスワード（「ＨＯＴＰ」）アルゴリズムを使用して生成され得る。さらなる実施形態において、安全なトークン１２０は、以前に生成された安全なトークンに少なくとも部分的に基づいて生成され得る。なおさらなる実施形態において、安全なトークン１２０は、ユーザ１００によって提供されるチャレンジに対する応答に少なくとも部分的に基づいて生成され得る。様々な他の方法が、安全なトークン１２０を生成することと関連して利用され得ること、及び任意の適切な方法または方法の組み合わせが、開示される認証プロセスの実施形態と関連して使用され得ることが認識されるであろう。
【００２６】
プロビジョニングされた安全な鍵１１４は、安全な鍵箱１１８等の保護された処理環境の中のクライアントデバイス１１０によって記憶され得る。ある特定の実施形態において、安全な鍵箱１１８は、安全な鍵１１４の秘密性及び／または完全性を保護するように構成され得る。安全な鍵箱１１８は、クライアントデバイス１１０によって安全なトークン１２０を生成するために使用される安全な計算と関連して使用されるソフトウェアコードをさらに保護し得る。いくつかの実施形態では、本発明の譲受人に譲渡された米国特許第７，４３０，５８５号（「５８５号特許」）及び／または米国特許第５，８９２，９００号（「９００号特許」）で説明されるもの等の、保護された処理環境及び／または安全な処理ユニットが使用され得、それぞれ、参照により本明細書に組み込まれる。
【００２７】
いくつかの実施形態において、安全な鍵箱１１８は、関連した安全なトークン１２０生成方法の実行中であっても、安全な鍵１１４を暗号化した状態に維持することを可能にする、ホワイトボックス暗号化方法を使用し得る。ある特定の実施形態において、安全な鍵箱１１８は、安全な鍵１１４をクリアテキストに晒すことなく、安全なトークン１２０を生成することと関連して安全な鍵１１４を記憶すること、及び／または使用することを可能にし得る。例えば、いくつかの実施形態において、安全な鍵箱１１８は、オープンアーキテクチャを有するクライアントデバイス１００のコード及び／またはメモリの安全な鍵１１４を晒すことなく、安全な鍵１１４の記憶及び／または使用を可能にし得る。いくつかの実施形態において、安全な鍵箱は、ｗｈｉｔｅＣｒｙｐｔｉｏｎ  Ｃｏｒｐｏｒａｔｉｏｎによって提供される安全な鍵箱技術を使用して実現される（例えば、ｗｗｗ．ｃｒｙｐｔａｎｉｕｍ．ｃｏｍ／ｓｅｃｕｒｅ＿ｋｅｙ＿ｂｏｘを参照されたい）。
【００２８】
安全な鍵箱１１８は、実行時にロード及び／または解読され得る静的鍵及び／または暗号化された動的鍵の双方と関連して使用され得る。さらなる実施形態において、異なるクライアントデバイス１１０と関連付けられた別個の安全な鍵箱１１８は、異なる暗号化フォーマットを使用して安全な鍵１１４を記憶し得、及び／または該安全な鍵に対して動作し得る。ある特定の実施形態において、安全な鍵箱１１８は、クライアントデバイス１１０に含まれる専用のセキュリティハードウェアを使用することなく、安全な鍵１１４の保護及び／または該安全な鍵を使用して行われる計算を可能にし得る。
【００２９】
いくつかの実施形態において、例えば安全な鍵１１４等の安全な情報は、安全な鍵箱１１８から送信されるときに暗号化され得る。ある特定の実施形態において、安全な鍵１１４は、認証サービスシステム１０６上で動作する別個の安全な鍵箱（図示せず）において該認証サービスシステムによって管理され得る。認証サービスシステム１０６の安全な鍵箱から、クライアントデバイス１１０の個人化プロセスの一部として送信されたときに、認証サービスシステム１０６の安全な鍵箱は、クライアントデバイス１１０の安全な鍵箱１１８と共有される共通のエクスポート鍵によって安全な鍵１１４を暗号化し得る。クライアントデバイス１１０が受け取った時点で、安全な鍵箱１１８は、安全なトークン１２０を生成することと関連して使用するための共通のエクスポート鍵を使用して、受け取った暗号化した安全な鍵１１４を解読し得る。
【００３０】
安全な鍵１１４及び／または安全な鍵１１４を使用して行われる動作（例えば、安全なトークン１２０を生成するために使用される計算）を保護するために、クライアントデバイス１１０と関連して、ソフトウェアの難読化及び／または完全性保護技法がさらに実現され得る。例えば、いくつかの実施形態では、完全性の保護、難読化、反海賊行為、反デバッグ、及び共有されたライブラリの保護が挙げられるが、それらに限定されない、様々なセキュリティ技法が、（例えば、安全な鍵箱１１８の外の及び／またはその中の）安全な鍵１１４を利用して動作を行うソフトウェアコードに適用され得る。ある特定の実施形態では、統合された保護機構が、関連ソフトウェアコードの異なる層に適用され得る。いくつかの実施形態では、本発明の譲受人に譲渡された米国特許第６，６６８，３２５  Ｂ１号、「Ｏｂｆｕｓｃａｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｅｎｈａｎｃｉｎｇ  Ｓｏｆｔｗａｒｅ  Ｓｅｃｕｒｉｔｙ」、米国特許出願第１１／１０２，３０６号（公開第２００５／０１８３０７２  Ａ１号）、「Ｓｏｆｔｗａｒｅ  Ｓｅｌｆ−Ｄｅｆｅｎｓｅ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ」、米国特許出願第１１／７３７，４２８号（公開第２００８／００２８４７４  Ａ１号）、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｗａｔｅｒｍａｒｋｉｎｇ  Ｓｏｆｔｗａｒｅ  ａｎｄ  Ｏｔｈｅｒ  Ｍｅｄｉａ」、及び／または米国特許出願第１０／１７２，６８２号（公開第２００３／００２３８５６  Ａ１号）、「Ｓｏｆｔｗａｒｅ  Ｓｅｌｆ−Ｃｈｅｃｋｉｎｇ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ」で説明されているもの等の、ソフトウェアの難読化及び／またはコードチェック技法を使用することができ、それぞれ、参照により本明細書に組み込まれる。
【００３１】
いくつかの実施形態では、安全な鍵１１４を使用して動作を行うように構成されたソフトウェアコードが攻撃者によって改変されることを防止するために、完全性保護技法が使用され得る。例えば、いくつかの実施形態では、いくつかの完全性チェッカーが、関連付けられたバイナリファイルの特定の範囲（例えば、コードの重複範囲）を監視するように構成されたソフトウェアコードの中へ挿入され得る。アプリケーションが改変された場合は、挿入されたチェッカー（例えば、チェックサム）がもはや以前に生成されたバイナリフットプリントと一致し得ず、アプリケーションは、実行を終了することによってそれ自体を防御することができる。ある特定の実施形態において、チェッカーは、それらが他のチェッカーを保護し、また、検出することが比較的困難であるような、及び／または削除に時間がかかるような様式で挿入され得る。
【００３２】
いくつかの実施形態では、静的分析ツールが、関連付けられた実行可能形式においてある特定の機能を識別することを困難にするように、安全な鍵１１４を使用して行われる動作と関連付けられたコードを変換するために、ソフトウェア難読化技法が使用され得る。安全な鍵１１４及び／または安全な鍵１１４を使用して行われる動作を保護するために、様々なソフトウェア難読化技法が使用され得、該技法としては、例えば、関連付けられたバイナリコードでメッセージコールを難読化すること、文字列リテラルが容易に読み出しできないように、また、そのようなリテラルが処理される前にだけ復号化されるように、文字列リテラルをコードで難読化すること、反デバッグコードのインスタンスを保護されたコードの中へ挿入すること、ジェイルブレイクされたクライアントデバイス１１０上で実行されていることを検出した場合にそのコードの完全性を保護するセキュリティ機構を実現すること、実行時にメモリの中へ解読される添付のスタブによって、関連付けられた実行可能バイナリコードが暗号化されるように、バイナリファイルをパックすること、クラッシュにつながる関連アプリケーションのプログラム状態を損なわせるように構成された防御コードを含むこと、及び／または同類のことが挙げられる。
【００３３】
ある特定の実施形態において、安全なトークン１２０は、ユーザ１２０からの要求に応じて、クライアントデバイス１１０によって生成され得る。さらなる実施形態において、安全なトークン１２０は、クライアントデバイス１００によって自動的に生成され得る。いくつかの実施形態において、生成された安全なトークン１２０は、経時的に（例えば、３０秒毎等に）更新され得る。例えば、安全なトークン１２０が、安全な鍵１１４の暗号ハッシュ及び共有されたクロックによって提供される値を計算することによって計算される実施形態において、安全なトークン１２０は、クロック値が増加するにつれて定期的に更新され得る。いくつかの実施形態において、ユーザ１００には、安全なトークン１２０が（例えば、表示されたカウンタまたは同類のものを介して）クライアントデバイス１１０でいつ定期的に更新されるかに関する表示が提供され得る。
【００３４】
オンラインサービス１０４及び／またはサービスプロバイダシステム１０２によって管理される別のリソースにアクセスすることを望むユーザ１００は、該ユーザがオンラインサービス１０４及び／または管理されるリソースへのアクセス権を有するかどうかを判定する際に使用するためのある特定の認証信用証明書１２２をサービスプロバイダシステム１０２に提供し得る。本明細書で開示される実施形態と一致して、認証信用証明書１２２は、クライアントデバイスによって生成される安全なトークン１２０を含み得る。さらなる実施形態において、認証信用証明書１２２は、例えば、ユーザ名及び／もしくはユーザ１００と関連付けられた他の識別情報、ならびに／またはパスワードを含む、様々な他の認証情報を含み得る。
【００３５】
サービスプロバイダシステム１０２は、認証信用証明書１２２に基づいて認証クエリ１２４を生成し得る。認証クエリ１２４は、とりわけ、ユーザ１００によって提供される安全なトークン１２０を含み得る。認証クエリ１２４は、認証信用証明書１２２に含まれる他の認証情報（例えば、ユーザ名、パスワード等）、ユーザ１００がアクセスしたいサービス及び／もしくはリソースに関する情報、ならびに／または同類のものをさらに含み得る。サービスプロバイダシステム１０２は、認証クエリ１２４を認証サービスシステム１０６に送信し得る。
【００３６】
認証クエリ１２４を受け取ると、認証サービスシステム１０６は、例えばその上で実行する認証サービスアプリケーション１０８を使用して、認証プロセスを行い得る。ある特定の実施形態において、認証プロセスは、少なくとも部分的に認証サービスシステム１０６及び／またはクライアントデバイス１１０の間で共有される鍵１１４を使用した、安全なトークンの生成を含み得る。例えば、認証サービスシステム１０６は、共有された安全な鍵１１４ならびに共有された及び／または別様には同期されたクロックによって生成される値を使用して暗号ハッシュまたは他の計算を行うことによって、安全なトークンを生成し得る。認証サービスシステム１０６によって生成される安全なトークンは、ユーザ１００によって提供される、クライアントデバイス１１０によって生成される安全なトークン１２０と比較され得る。安全なトークンが一致する場合、ユーザ１００が認証され得る。安全なトークンが一致しない場合、ユーザ１００は認証され得ない。いくつかの実施形態において、時間値における有効ビットの数は、サーバのクロックとクライアントの（例えば、最も近い瞬間と測定され得る時間）との間の予め定義された誤差の範囲を可能にするように選択することができる。
【００３７】
ある特定の実施形態において、認証サービスシステム１０６は、ユーザによって提供される安全なトークン１２０が、特定の期間内に認証サービスシステム１０６によって生成された、及び／または生成することができた安全なトークンと一致するかどうかを判定し得る。すなわち、認証サービスシステム１０６は、安全なトークン１２０が「新しい」ことを確認し得る。安全なトークン１２０が、特定の期間内に認証システム１０６によって生成された、及び／または生成することができた安全なトークンではない（すなわち、「新しく」ない）場合、より早い時間に認証サービスシステム１０６によって受け取った場合に認証され得たか、及び／または有効であり得たかどうかに関係なく、認証サービスシステム１０６は、安全なトークン１２０が本物でないと、及び／または別様には無効であると判定し得る。このようにして、より古い安全なトークンを使用する、可能なリプレイアタックが軽減され得る。いくつかの実施形態において、認証システム１０６は、現在の時刻、ならびに予め定義された数の以前の時間間隔及び／または将来の時間間隔に基づいて、トークン値を算出し得、そして、受け取ったトークンとこのウィンドウにおいて算出されたトークンのいずれかとの間に一致がある限り、受け取ったトークンが新しく、かつ本物であると判定し得、それによって、クライアントのクロックとサーバのクロックとの間の厳密な同期性の可能な欠如を可能にする。例えば、サーバ１０６は、直前、現在の時刻、及び直後のトークンを計算することができ、また、デバイス１１０から受け取ったトークンがこれらの３つの値のいずれか１つと一致する限り、該トークンを認証することができ、それによって、クライアント及びサーバ上の僅かな時間差による不正確な結果、クライアントとサーバとの間の送信の遅れ、遅いトークン値のユーザ入力、及び／または同類のことを回避する。
【００３８】
ユーザ１００によって提供された安全なトークン１２０を含む認証信用証明書１２２が認証サービスシステム１０６によって検証されたかどうかを示す認証結果１２６が、サービスプロバイダシステム１０２に送られ得る。認証結果１２６に基づいて、サービスプロバイダシステム１０２は、ユーザ１００がアクセスすることを望むオンラインサービス１０４及び／または他のリソースへのアクセスを許可または制限し得る。
【００３９】
本発明の作用の主体の範囲内で、図１と関連して提示されるアーキテクチャ及び関係に対していくつかの変更が行われ得ることが認識されるであろう。例えば、これに限定されないが、いくつかの実施形態では、認証サービスシステム１０６によって行われる機能の一部または全部が、サービスプロバイダシステム１０２によって行われ得る。同様に、クライアントデバイス１０１及び／または１１０によって行われる機能の一部または全部が、サービスプロバイダシステム１０２によって行われ得る。したがって、図１で例示されるアーキテクチャ及び関係が、例示及び説明の目的で提供され、限定を目的としないことが認識されるであろう。
【００４０】
図２は、本開示の実施形態と一致する、安全なユーザ認証のためのモバイルアプリケーションのインターフェース２００を例示する。インターフェース２００は、例えば、関連クライアントデバイス１１０を使用するユーザに表示され得る。いくつかの実施形態において、ユーザは、ユーザがトークン選択メニュー２０２を介してクライアントデバイス１１０に生成してもらいたい、安全なトークン１２０の種類を選択し得る。例えば、例示されるように、ユーザは、トークン選択メニュー２０２を介して、ＨＯＴＰトークン生成及び／またはＴＯＴＰトークン生成を選択し得る。他の実施形態において、トークンの選択及び／または生成は、自動的に行われる。
【００４１】
ユーザがクライアントデバイス１１０を使用して安全なトークン１２０を生成したいとき、ユーザは、インターフェース２００に含まれる１つ以上のトークン生成要素２０４を選択することによって、トークン生成プロセスを開始し得る。例示されるように、安全なトークン１２０は、数値的なトークンまたはコード（例えば、変化する６桁のコードまたは同類のもの）を含み得る。さらなる実施形態において、安全なトークン１２０は、英数字トークンまたはコードを含み得る。クライアントデバイス１１０が、様々な種類の安全なトークン１２０を生成し得ること、及び任意の適切な種類の安全なトークン１２０が、開示される実施形態と関連して生成され得るか、または使用され得ることが認識されるであろう。
【００４２】
ある特定の実施形態において、生成された安全なトークン１２０は、定期的に（例えば、３０秒毎等に）更新され得る。例えば、安全なトークン１２０が、安全な鍵の暗号ハッシュ及び共有されたクロックによって提供される値を計算することによって計算される実施形態において、安全なトークン１２０は、クロック値が増加するにつれてインターフェース２００上で定期的に更新され得る。ある特定の実施形態において、クライアントデバイス１１０のユーザは、インターフェース２００上の適切なトークン生成要素２０４を選択することによって、新しい安全なトークン１２０の生成を終了し得る。
【００４３】
図３は、本開示の実施形態と一致する、安全なユーザ認証を実現するサービスインターフェース３００を例示する。ある特定の実施形態において、サービスインターフェース３００は、サービス及び／またはサービスプロバイダシステム１０２によって管理される別のリソースと関連付けられ得る。いくつかの実施形態において、サービスインターフェース３００は、ウェブ−ブラウザアプリケーションを介して表示され得る。さらなる実施形態において、サービスインターフェース３００は、別個のアプリケーションのインターフェースであり得る。
【００４４】
サービス及び／またはサービスプロバイダシステム１０２によって管理される別のリソースにアクセスすることを望むユーザは、最初に、該ユーザがオンラインサービス及び／または管理されるリソースへのアクセス権を有するかどうかを判定する際に使用するためのある特定の認証信用証明書をサービスプロバイダシステム１０２に提供するよう要求され得る。ある特定の実施形態において、そのような信用証明書は、サービスインターフェース３００のログイン情報ウィンドウ３０２を介して提供され得る。例示されるように、ユーザは、ログイン情報ウィンドウ３０２内の関連フィールド３０４を介して、サービス及び／または他の管理されたリソースに、ユーザ名及び／もしくはユーザと関連付けられた他の識別情報（例えば、電子メールアドレス）、パスワード情報、ならびに／または、例えば図３と関連して、本明細書で開示されるトークン生成プロセスの実施形態を使用して生成される安全なトークンが挙げられるが、それらに限定されない、様々な認証信用証明書を提供し得る。適切な認証信用証明書をログイン情報ウィンドウ３０２に入力した後に、ユーザは、ログインボタン３０６を選択して、サービスプロバイダシステム１０２による認証プロセスを開始し得る。
【００４５】
図４は、本開示の実施形態と一致する、モバイルデバイスによって認証トークンを生成するための方法４００のフローチャートを例示する。例示される方法４００は、ソフトウェア、ファームウェア、ハードウェア、及び／またはそれらの任意の組み合わせを使用することが挙げられる、様々な方法で実現され得る。ある特定の実施形態において、方法４００は、上で説明されるようにクライアントデバイスに上で実行する認証トークンアプリケーション及び／または安全な鍵箱によって、少なくとも部分的に実現され得る。
【００４６】
４０２で、ユーザから、及び／またはユーザのデバイス上で動作するアプリケーションから、安全なトークンを生成する要求を受け取り得る。ある特定の実施形態において、要求は、ある種類の安全なトークンの表示、及び／または安全なトークンを生成するために使用されるべき計算の方法を含み得る。例えば、ユーザは、ＨＯＴＰトークン生成プロセス及び／またはＴＯＴＰトークン生成プロセスを使用して生成される安全なトークンを有したい旨を指定し得る。
【００４７】
４０４で、要求のパラメータに基づいて、安全なトークンが生成され得る。本明細書で開示される実施形態と一致して、安全なトークンは、認証サービスシステム及び／または別の信頼できる機関によってクライアントデバイスにプロビジョニングされる安全な鍵に基づいて生成され得る。安全な鍵に加えて、時間値、チャレンジ／応答等の他の情報、またはクライアントデバイスと認証サービスシステムとの間で共有される情報に基づいて、安全なトークンがさらに生成され得る。例えば、いくつかの実施形態において、安全なトークンは、安全な鍵及びクロックによって提供される値を使用して、暗号ハッシュ及び／またはダイジェスト算出を行うことによって生成され得る。４０６で、生成された安全なトークンが、（例えば、図３で示されるようなウェブインターフェース上でトークンの値を入力することによって）サーバに送信するために、クライアントデバイスのインターフェースを介してユーザに提供され得る。他の実施形態において、安全なトークンは、自動的に及び／または直接サーバに通信することができる。安全なトークンを使用して、サーバは、サービス及び／または管理されたリソースへのユーザのアクセス権を認証することができる。
【００４８】
図５は、本開示の実施形態と一致する、ユーザのサービスプロバイダ認証のための方法５００のフローチャートを例示する。例示される方法５００は、ソフトウェア、ファームウェア、ハードウェア、及び／またはそれらの任意の組み合わせを使用することが挙げられる、様々な方法で実現され得る。ある特定の実施形態において、方法５００は、上で説明されるように、管理されたサービス及び／またはサービスプロバイダシステムと関連付けられたリソースによって、少なくとも部分的に実現され得る。
【００４９】
５０２で、ユーザから認証信用証明書を受け取り得る。認証信用証明書としては、ユーザ名及び／もしくはユーザと関連付けられた他の識別情報（例えば、電子メールアドレス）、パスワード情報、本明細書で開示されるトークン生成プロセスの実施形態を使用して生成される安全なトークン、ならびに／または同類のものが挙げられ得るが、それらに限定されない。５０４で、受け取った認証信用証明書に少なくとも部分的に基づいて、認証クエリが生成され、認証サービスに送られ得る。認証クエリは、とりわけ、認証信用証明書に含まれる、ユーザによって提供される安全なトークンを含み得る。認証クエリは、認証信用証明書に含まれる他の情報（例えば、ユーザ名、パスワード等）、ユーザがアクセスしたいサービス及び／もしくはリソースに関する情報、ならびに／または同類のものをさらに含み得る。
【００５０】
５０６で、認証クエリに応答して、認証サービスから認証結果を受け取り得る。５０８で、認証結果が、認証サービスによる認証クエリに含まれる情報の認証に成功したことを示すかどうかの判定が行われ得る。認証に成功しなかった場合、ユーザは、５１０で、サービス及び／または他の管理されたリソースへの要求されたアクセスを拒否され得る。認証が成功した場合、ユーザは、５１２で、サービス及び／または他の管理されたリソースへの要求されたアクセスを許可され得る。
【００５１】
図６は、本開示の実施形態と一致する、ユーザを認証するための方法６００のフローチャートを例示する。例示される方法６００は、ソフトウェア、ファームウェア、ハードウェア、及び／またはそれらの任意の組み合わせを使用することが挙げられる、様々な方法で実現され得る。ある特定の実施形態において、方法６００は、上で説明されるように認証サービスシステムと関連付けられた認証サービスアプリケーション及び／または安全な鍵箱によって、少なくとも部分的に実現され得る。
【００５２】
６０２で、サービスを管理するサービスプロバイダシステムから、及び／または他のリソースから、認証クエリを受け取り得る。認証クエリは、とりわけ、ユーザによって提供される安全なトークン、他の認証信用証明書（例えば、ユーザ名、パスワード等）、ユーザがアクセスしたいサービス及び／もしくはリソースに関する情報、ならびに／または同類のものを含み得る。
【００５３】
６０４で、６０２で受け取った認証クエリに含まれる、または該認証クエリから取り出される安全な鍵に基づいて、認証サービスシステムによって安全なトークンが生成され得る。安全な鍵に加えて、現在の時間値、及び／またはクライアントデバイスと認証サービスシステムとの間で共有される他の情報に基づいて、安全なトークンがさらに生成され得る。例えば、いくつかの実施形態において、安全なトークンは、安全な鍵及びクロックによって提供される値を使用して、暗号ハッシュ及び／またはダイジェスト算出を行うことによって生成され得る。
【００５４】
６０６で、６０４で認証サービスシステムによって生成された安全なトークンが、ユーザと関連付けられたクライアントデバイスによって生成された認証クエリに含まれる安全なトークンと比較され得る。６０８で、６０４で生成された安全なトークンと認証クエリに含まれる安全なトークンが一致しているかどうかに関する比較に基づいて、判定が行われ得る。トークンが一致しなかった場合は、６１０で、認証クエリに含まれる安全なトークンが有効でないことを示す認証結果がサービスプロバイダシステムに送られ得る。トークンが一致した場合は、６１２で、認証クエリに含まれる安全なトークンが有効であることを示す認証結果がサービスプロバイダシステムに送られ得る。一致するトークンは、認証サービスシステムによって生成された安全なトークン、及びクライアントデバイスによって生成された安全なトークンが、同じ安全な鍵及び／もしくは他の情報（例えば、同期されたクロック値）に基づいて生成されたこと、ならびに／または同じ暗号計算を使用して生成されたことを示し得る。それに応じて、受け取った認証結果に基づいて、サービスプロバイダシステムが、ユーザによるサービス及び／またはリソースへのアクセスを管理し得る。
【００５５】
図７は、本開示のシステム及び方法のある特定の実施形態を実現するために使用され得るシステム７００を例示する。システム７００は、例えば、ラップトップコンピュータシステム、デスクトップコンピュータシステム、サーバコンピュータシステム、スマートフォンまたはタブレット等のモバイルデバイス、ゲーミングシステム、ＡＴＭ、家電製品、及び／または本明細書で説明されるシステム及び方法を実現するように構成された任意の他のシステムまたはデバイスを備え得る。ある特定の実施形態において、システム７００は、認証サービスシステムまたは他の信頼できる機関、サービスプロバイダシステム、クライアントデバイス、及び／または本明細書で開示される任意の他のシステムと関連付けられたある特定の機能を行い得る。
【００５６】
図７で例示されるように、システム７００は、プロセッサ７０２と、プロセッサ７０２によって使用し、実行するためのプログラム及び他のデータを記憶するための、高速ＲＡＭ、不揮発性メモリ、及び／または１つ以上のバルクの不揮発性コンピュータ可読記憶媒体（例えば、ハードディスク、フラッシュメモリ等）が挙げられ得る、システムメモリ７０４と、ディスプレイ、ならびに／または例えばタッチスクリーン、キーボード、マウス、トラックパッド、及び／もしくは同類のもの等の１つ以上の入力デバイスが挙げられ得る、ユーザインターフェース７１４（例えば、入力／出力インターフェース）と、１つ以上のディスケット、光記憶媒体、及び／または他のコンピュータ可読記憶媒体（例えば、フラッシュメモリ、サムドライブ、ＵＳＢドングル、コンパクトディスク、ＤＶＤ等）が挙げられ得るリムーバブルメモリ７０８とインターフェースするためのポート７０６と、１つ以上の通信技術を使用して、ネットワーク７１２を介して他のシステムと通信するためのネットワークインターフェース７１０と、上述した要素を通信可能に連結するための１つ以上のバス７１８と、を含み得る。
【００５７】
ある特定の実施形態において、ネットワーク７１２は、インターネット、ローカルエリアネットワーク、仮想プライベートネットワーク、ならびに／または１つ以上の電子通信技術及び／もしくは規格（例えば、イーサネット（登録商標）または同類のもの）を利用する任意の他の通信ネットワークを備え得る。いくつかの実施形態において、ネットワークインターフェース７１０及び／またはネットワーク７１２は、ＰＣＳ等の無線キャリアシステム、ならびに／または任意の適切な通信規格及び／もしくはプロトコルを組み込んだ任意の他の適切な通信システムの一部であり得る。さらなる実施形態において、ネットワークインターフェース７１０及び／またはネットワーク７１２は、例えば、ＣＤＭＡ、ＧＳＭ、ＦＤＭＡ、及び／もしくはＴＤＭＡ規格を利用する、アナログモバイル通信ネットワーク及び／またはデジタルモバイル通信ネットワークの一部であり得る。なおさらなる実施形態において、ネットワークインターフェース７１０及び／またはネットワーク７１２は、１つ以上の衛星通信リンクを組み込み得、ならびに／またはＩＥＥＥの８０２．１１規格、近距離無線通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＷＢ、Ｚｉｇｂｅｅ（登録商標）、及び／もしくは任意の他の適切な１つまたは複数の技術を利用し得る。
【００５８】
いくつかの実施形態において、システム７００は、代替として、または加えて、安全な物理的及び／または仮想的セキュリティ技法を利用することによって、システム７００のユーザまたは他のエンティティによる改竄から保護される、ＳＰＵ７１６を含み得る。ＳＰＵ７１６は、個人的管理等の機密動作の安全、ならびに／または安全な鍵及び／もしくは本明細書で開示されるシステム及び方法の他の態様の使用を強化すること及び／または促進することを補助することができる。ある特定の実施形態において、ＳＰＵ７１６は、論理的に安全な処理ドメインの中で動作し得、また、秘密情報を保護し、該秘密情報に対して動作するように構成され得る。いくつかの実施形態において、ＳＰＵ７１６は、ＳＰＵ７１６が安全な動作を行うことを可能にするように構成された実行可能命令またはプログラムを記憶する、内部メモリを含み得る。
【００５９】
システム７００の動作は、全般的に、システムメモリ７０４（及び／またはリムーバブルメモリ７０８等の、他のコンピュータ可読媒体）に記憶されたソフトウェア命令及びプログラムを実行することによって動作するプロセッサ７０２によって制御され得る。システムメモリ７０４は、システム７００の動作を制御するための、様々な実行可能プログラムまたはモジュールを記憶し得る。例えば、システムメモリ７０４は、システムハードウェアリソースを少なくとも部分的に管理し、協調させ得、また、種々のアプリケーションを実行するための共通のサービスを提供し得る、オペレーティングシステム（「ＯＳ」）７２０と、安全な鍵を含む秘密情報の保護及び／または管理を含む信用及びプライバシー管理機能を実現するための、信用及びプライバシー管理システム７２２とを含み得る。システムメモリ７０４は、これらに限定されないが、システム７００との、及び該システムによる通信を少なくとも部分的に可能にするように構成された通信ソフトウェア７２４、アプリケーション７２６（例えば、個人化アプリケーション、認証トークン生成アプリケーション等）、本明細書で開示される安全なトークン認証動作を行うように構成された認証サービスアプリケーション７２８、安全な鍵、及び安全な鍵を使用して行われる計算（例えば、暗号の計算）を保護するように構成された安全な鍵箱７３０、ならびに／または本明細書で開示されるシステム及び方法の実施形態を実現するように構成された任意の他の情報及び／もしくはアプリケーションをさらに含み得る。
【００６０】
当業者であれば、本明細書で説明されるシステム及び方法を、図７で例示されるものに類似する、もしくはそれと同一のコンピューティングデバイスによって、または図７で示される構成要素のいくつかを保有しないコンピューティングデバイス、及び／もしくは図示されていない他の構成要素を保有するコンピューティングデバイスを含む、実質的に任意の他の適切なコンピューティングデバイスによって実践することができることを認識するであろう。したがって、図７は、例示の目的で提供されており、限定を目的としないことを認識されたい。
【００６１】
本明細書で開示されるシステム及び方法は、任意の特定のコンピュータ、電子制御ユニット、または他の装置に本質的に関連するものではなく、また、ハードウェア、ソフトウェア、及び／またはファームウェアの適切な組み合わせによって実現され得る。ソフトウェアの実現形態としては、プロセッサまたは仮想マシンによって実行または翻訳されたときに、実行可能命令によって少なくとも部分的に定義される方法をコンピュータシステムに行わせ得るコード／命令を含む、１つ以上のコンピュータプログラムが挙げられ得る。コンピュータプログラムは、コンパイル型言語またはインタプリタ型言語が挙げられる、任意の形態のプログラミング言語で記述することができ、また、スタンドアロンのプログラムとしての形態、またはコンピューティング環境での使用に適したモジュール、構成要素、サブルーチン、もしくは他のユニットとしての形態が挙げられる、任意の形態で展開することができる。さらに、コンピュータプログラムは、１つのサイトで１つのコンピュータ上でまたは複数のコンピュータ上で実行するように展開するか、または複数のサイトにわたって分散させ、通信ネットワークによって相互接続することができる。ソフトウェアの実施形態は、プロセッサによって実行されたときに、命令に従って方法をプロセッサに行わせるように構成されたコンピュータプログラム及び命令を記憶するように構成された非一時的記憶媒体を備える、コンピュータプログラム製品として実現され得る。ある特定の実施形態において、非一時的記憶媒体は、プロセッサ可読命令を非一時的記憶媒体に記憶することができる、任意の形態をとり得る。非一時的記憶媒体は、コンパクトディスク、デジタルビデオディスク、磁気テープ、磁気ディスク、フラッシュメモリ、集積回路、及び／または任意の他の非一時的メモリが挙げられるが、それらに限定されない、任意の適切な形態で具現化され得る。
【００６２】
上述のものは、明確にする目的でいくらか詳細に説明されているが、その原理から逸脱することなく、特定の変更及び修正が行われ得ることが明らかになるであろう。本明細書で説明されるシステム及び方法の双方を実現する数多くの代替の方法があることに留意されたい。故に、本実施形態は、限定的なものではなく例示的なものであるとみなされるべきであり、また本発明は、本明細書に与えられる詳細に限定されるものではなく、添付の特許請求の範囲及びその均等物の範囲内で変更され得るものである。
【図１】
2016520230.tif 000003
【図２】
2016520230.tif 000004
【図３】
2016520230.tif 000005
【図４】
2016520230.tif 000006
【図５】
2016520230.tif 000007
【図６】
2016520230.tif 000008
【図７】
2016520230.tif 000009
【国際調査報告】
2016520230.tif 000010
2016520230.tif 000011
2016520230.tif 000012