(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスのユーザをベンダコンピューティングデバイスに対して認証するために、前記ベンダコンピューティングデバイスから複数の認証制約を受信するベンダ認証モジュールと、
前記ユーザを前記ベンダコンピューティングデバイスに対して認証するために、認証データを前記複数の認証制約に基づいて生成する認証データ生成モジュールと
を備えるコンピューティングデバイスであって、
前記ベンダ認証モジュールは、生成された前記認証データを前記ベンダコンピューティングデバイスに提供することにより、前記ユーザを前記ベンダコンピューティングデバイスに対して認証する、コンピューティングデバイス。
【請求項２】
前記複数の認証制約は、前記ユーザを前記ベンダコンピューティングデバイスに対して認証するためのユーザパスワードを生成するための複数のパスワード制約を含み、
前記複数のパスワード制約は、前記パスワードのための文字の最小長さ、及びアルファベットではない文字要件のうち少なくとも１つを含む、請求項１に記載のコンピューティングデバイス。
【請求項３】
前記認証データ生成モジュールは、前記複数の認証制約を満たすパスワードを生成する、請求項１に記載のコンピューティングデバイス。
【請求項４】
前記認証データが格納されたセキュアなデータストレージを更に備え、
前記ベンダ認証モジュールは更に、
前記ベンダコンピューティングデバイスからログオンプロンプトを受信して、
前記セキュアなデータストレージから前記認証データを取得して、
前記ユーザを前記ベンダコンピューティングデバイスに対して認証するために、前記認証データを前記ベンダコンピューティングデバイスに提供する、請求項１に記載のコンピューティングデバイス。
【請求項５】
前記認証データ生成モジュールは更に、新たな認証データを、前記複数の認証制約に基づいて定期的に生成する、請求項１に記載のコンピューティングデバイス。
【請求項６】
前記認証データ生成モジュールは、前記ユーザからの入力なく、前記認証データを前記複数の認証制約に基づいて生成する、請求項１に記載のコンピューティングデバイス。
【請求項７】
前記認証データは、前記コンピューティングデバイスのハードウェアコンポーネントのハードウェア識別番号から形成されたデジタル身元データを含む、請求項１に記載のコンピューティングデバイス。
【請求項８】
前記ベンダ認証モジュールが、生成された前記認証データを前記ベンダコンピューティングデバイスに提供する前に、前記コンピューティングデバイスに対して前記ユーザを認証するためのデバイス認証モジュールを更に備える、請求項１から７のいずれか一項に記載のコンピューティングデバイス。
【請求項９】
前記ベンダ認証モジュールは更に、複数の更なるベンダコンピューティングデバイスから複数の認証制約を受信して、
前記認証データ生成モジュールは更に、前記ユーザからの入力なく、前記ユーザを前記複数の更なるベンダコンピューティングデバイスのそれぞれに対して認証するために、前記複数の更なるベンダコンピューティングデバイスのそれぞれのための一意の認証データを、対応する複数の認証制約に基づいて生成する、請求項１から７のいずれか一項に記載のコンピューティングデバイス。
【請求項１０】
セキュアなストレージを更に備え、
前記認証データ生成モジュールは更に、前記認証データの身元を前記ユーザに通知することなく、生成された前記認証データを前記セキュアなストレージに格納する、請求項１から７のいずれか一項に記載のコンピューティングデバイス。
【請求項１１】
第１のコンピューティングデバイスに、
ユーザを第２のコンピューティングデバイスに対して認証するために、前記第２のコンピューティングデバイスから複数の認証制約を受信する手順と、
前記ユーザを前記第２のコンピューティングデバイスに対して認証するために、認証データを前記複数の認証制約に基づいて生成する手順と、
前記ユーザを前記第２のコンピューティングデバイスに対して認証するために、前記認証データを前記第２のコンピューティングデバイスに対して送信する手順と
を実行させるプログラム。
【請求項１２】
前記複数の認証制約を受信する手順は、
前記ユーザを前記第２のコンピューティングデバイスに対して認証するためのユーザパスワードを生成するための複数のパスワード制約を受信する手順を含み、
前記複数のパスワード制約は、前記パスワードのための文字の最小長さ、及びアルファベットではない文字要件のうち少なくとも１つを含む、請求項１１に記載のプログラム。
【請求項１３】
前記認証データを生成する手順は、
前記複数の認証制約を満たすパスワードを生成する手順を含む、請求項１１に記載のプログラム。
【請求項１４】
前記第１のコンピューティングデバイスに更に、
前記第２のコンピューティングデバイスからログオンプロンプトを受信する手順と、
前記第１のコンピューティングデバイスのセキュアなデータストレージから前記認証データを取得する手順と、
前記ユーザを前記第２のコンピューティングデバイスに対して認証するために、前記認証データを前記第２のコンピューティングデバイスに送信する手順と
を実行させる、請求項１１に記載のプログラム。
【請求項１５】
前記第１のコンピューティングデバイスに更に、
前記認証データを前記第２のコンピューティングデバイスに送信する前に、前記ユーザを前記第１のコンピューティングデバイスに対して認証する手順を実行させる、請求項１１に記載のプログラム。
【請求項１６】
前記第１のコンピューティングデバイスに更に、
複数の第３のコンピューティングデバイスから複数の認証制約を受信する手順と、
前記ユーザからの入力なく、前記複数の第３のコンピューティングデバイスのそれぞれに対して前記ユーザを認証するために、前記複数の第３のコンピューティングデバイスのそれぞれのための一意の認証データを、対応する複数の認証制約に基づいて生成する手順と
を実行させる、請求項１１から１５のいずれか一項に記載のプログラム。
【請求項１７】
前記認証データを前記第２のコンピューティングデバイスに送信する手順は、
前記ユーザからの入力なく、前記認証データを利用して、前記ユーザを前記第２のコンピューティングデバイスに自動的にログインさせる手順を含む、請求項１１から１５のいずれか一項に記載のプログラム。
【請求項１８】
前記複数の認証制約を受信する手順は、
前記ユーザが前記第２のコンピューティングデバイス上にユーザアカウントを有さないことに呼応して、前記複数の認証制約を受信する手順を含む、請求項１１から１５のいずれか一項に記載のプログラム。
【請求項１９】
前記認証データを生成する手順は、
前記ユーザの入力なく、前記認証データを前記複数の認証制約に基づいて生成する手順を含む、請求項１１から１５のいずれか一項に記載のプログラム。
【請求項２０】
前記認証データを生成する手順は、
前記第１のコンピューティングデバイスのハードウェアコンポーネントのハードウェア識別番号から形成されたデジタル身元データを生成する手順を含む、請求項１１から１５のいずれか一項に記載のプログラム。
【請求項２１】
第１のコンピューティングデバイスが、ユーザを第２のコンピューティングデバイスに対して認証するために、前記第２のコンピューティングデバイスから複数の認証制約を受信する段階と、
前記第１のコンピューティングデバイスが、前記ユーザを前記第２のコンピューティングデバイスに対して認証するために、認証データを前記複数の認証制約に基づいて生成する段階と、
前記第１のコンピューティングデバイスが、前記ユーザを前記第２のコンピューティングデバイスに対して認証するために、前記認証データを前記第２のコンピューティングデバイスに対して送信する段階と
を備える方法。
【請求項２２】
前記認証データを生成する段階は、
前記第１のコンピューティングデバイスが、前記複数の認証制約を満たすパスワードを生成する段階を有する、請求項２１に記載の方法。
【請求項２３】
前記認証データを前記第２のコンピューティングデバイスに送信する段階は、
前記第１のコンピューティングデバイスが、前記ユーザからの入力なく、前記認証データを利用して、前記ユーザを前記第２のコンピューティングデバイスに自動的にログインさせる段階を有する、請求項２１に記載の方法。
【請求項２４】
前記複数の認証制約を受信する段階は、
前記第１のコンピューティングデバイスが、前記ユーザが前記第２のコンピューティングデバイス上にユーザアカウントを有さないことに呼応して、前記複数の認証制約を受信する段階を有する、請求項２１に記載の方法。
【請求項２５】
前記認証データを生成する段階は、
前記第１のコンピューティングデバイスが、前記ユーザの入力なく、前記認証データを前記複数の認証制約に基づいて生成する段階を有する、請求項２１から２４のいずれか一項に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータシステム及び他の電子デバイスは、ユーザの身元を検証して、重要又は繊細なデータ及び機能に対するアクセスを制御するためにユーザ認証メカニズムを利用する。例えばユーザパスワードメカニズム、証明書ベースの認証メカニズム、チャレンジレスポンスメカニズム、セキュリティトークン、バイオメトリクス、顔及び音声認識等を含む目的のために利用される数多くの異なるタイプのユーザ認証メカニズムが存在している。
【０００２】
ユーザパスワードメカニズムに依存しているシステムは、益々、多くの文字（例えば２０個またはこれより長い文字）のパスワード、特殊文字を利用するパスワード、及び／又は、無意味な構造を必要とする場合がある強いパスワードを必要とする。しかし、強いパスワードは、パスワード自身のセキュリティ上の有効性を低下させる該強いパスワードの物理的バックアップコピーを利用することなく必要とされると、ユーザにとって覚えにくいものとなる。加えて、金融システム等の多くのコンピュータシステムでは、ユーザが自身のパスワードを定期的に更新又は変更することを課す。この更新要件によって、更に、ユーザが強いパスワードを維持する困難が増す。これは、ユーザが、それぞれが強く、頻繁に変更されるパスワードを必要としうるような、複数のコンピュータシステム及び電子デバイスと相互通信する状況に特に当てはまる。
【図面の簡単な説明】
【０００３】
本発明は、添付図面において限定ではなく例示として示される。例示を簡潔及び明瞭に行うために、図面に示すエレメントは必ずしも実際の縮尺で描かれていない。例えば、幾つかのエレメントの寸法は、他のエレメントのものより強調表示して、明瞭にしている場合がある。更に、適切と思われる箇所では、図面間で参照番号を繰り返して、対応する又は類似したエレメントを示している。
【図１】複数のベンダサーバ又はシステムに対するユーザ認証を管理するためのシステムの少なくとも１つの実施形態の概略ブロック図を示す。
【図２】図１のコンピューティングデバイスのソフトウェア環境の少なくとも１つの環境の概略ブロック図を示す。
【図３】図１のコンピューティングデバイスによって実行されうる、ローカルユーザ認証データを構築するための方法の少なくとも１つの実施形態の簡略化されたフロー図である。
【図４】ユーザをベンダサーバに対して認証するための方法の少なくとも１つの実施形態の簡略化されたフロー図を示す。
【図５】図１のコンピューティングデバイスに対してユーザを認証するための方法の少なくとも１つの実施形態の簡略化されたフロー図を示す。
【発明を実施するための形態】
【０００４】
本開示の思想は、様々な変形例及び代替形態を許容するが、図面では特定の例示的な実施形態を例示しており、ここで詳細に説明する。しかし、本開示の思想を、開示されている特定の形態に限定する意図はなく、むしろその反対に、本開示及び添付請求項と矛盾しないすべての変形例、均等物、及び代替物をカバーすることを意図していることを理解されたい。
【０００５】
以下の説明では、論理実装、オペコード、オペランド指定手段、リソースパーティション／共有／重複実装、システムコンポーネント間のタイプ及び相互関係、及び、論理パーティション／統合の選択肢等の数多くの特定の詳細を述べて、本開示のより完全な理解を提供している。しかし、当業者は、本開示の実施形態がこれら特定の詳細なしに実行可能であることを理解する。他の場合には、制御構造、ゲートレベル回路及び完全なソフトウェア命令シーケンスを詳述せずに、本発明を曖昧にすることがないようにしていることもある。当業者が、含まれている説明を読めば、不当な実験なしに適切な機能を実行することができる。明細書において「一実施形態」「ある実施形態」「例示的な実施形態」といった言い回しは、記載されている実施形態が特定の特徴、構造、又は特性を含むことを意味しているが、必ずしも全ての実施形態が特定の特徴、構造、又は特性を含まなくてもよい。
【０００６】
更に、これらの言い回しは必ずしも同じ実施形態のことを意味しているわけではない。更に、特定の特徴、構造、又は特性がある実施形態との関連で記載されているときには、明示されていてもいなくても、他の実施形態との関連で、このような特定の特徴、構造、又は特性を実行することは当業者の知識の範囲内であるとする。本発明の実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの任意の組み合わせで実装されてよい。
【０００７】
コンピュータシステムに実装される本発明の実施形態は、コンポーネント間の１又は複数のバスベースのインターコネクト、及び／又は、コンポーネント間の１又は複数のポイントツーポイントインターコネクトを含んでよい。本発明の実施形態は更に、一時的又は非一時的な機械可読媒体によって搬送されたり、格納されたりする命令として実装することもでき、１又は複数のプロセッサによって読み出し、実行可能である。機械可読媒体は、任意のデバイス、メカニズム、又は、機械（例えばコンピューティングデバイス）が可読な形で情報を格納又は送信するための物理的構造として具体化が可能である。
【０００８】
例えば、機械可読媒体は、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、ミニ又はマイクロＳＤカード、メモリスティック、電気信号及びその他として具体化が可能である。図面では、デバイス、モジュール、命令ブロック及びデータエレメントを表すもののような概略を示すエレメントの特定の配置又は順序を、説明の便宜上示している場合がある。しかし、当業者であれば、図面における概略を示すエレメントの特定の配置又は順序が、処理の特定の順序もしくはシーケンス、又は処理の分離が必要であることを示唆しているわけではないことを理解するべきである。
【０００９】
更に、図面において概略を示すエレメントが含まれているからといって、これは、これらのエレメントが、全ての実施形態に必要である、又は、これらのエレメントが表す特徴が、幾つかの実施形態に含まれたり、幾つかの実施形態の他のエレメントと組み合わせられたりしてはならないことを示唆しているわけではない。
【００１０】
一般的には、命令ブロックを表すために利用される、概略を示すエレメントは、任意の適切な形態の機械可読命令、例えばソフトウェア又はファームウェアアプリケーション、プログラム、関数、モジュール、ルーチン、プロセス、プロシージャ、プラグイン、アプレット、ウィジェット、コードフラグメント及び／又はその他を利用して実装することができ、これら命令はそれぞれが、任意の適切なプログラミング言語、ライブラリ、アプリケーションプログラミングインタフェース（ＡＰＩ）、及び／又は、その他のソフトウェア開発ツールを利用して実装することができる。
【００１１】
例えば、幾つかの実施形態は、Ｊａｖａ（登録商標）、Ｃ++、及び／又はその他のプログラミング言語を利用して実装することができる。同様に、データ又は情報を表すために利用される概略を示すエレメントは、任意の適切な電子配置又は構造、例えばレジスタ、データ格納器、テーブル、レコード、アレイ、インデックス、ハッシュ、マップ、ツリー、リスト、グラフ、ファイル（任意のファイルタイプをもつ）、フォルダ、ディレクトリ、データベース、及び／又はその他、を利用して実装することができる。
【００１２】
更に、実線もしくは波線、又は実線もしくは波線の矢印等の接続エレメントを利用して、２又はそれ以上の他の概略を示すエレメントの間の接続、関係、又は関連を示している図面では、これらの接続エレメントのいずれかがない場合に、接続、関係、又は関連が存在し得ないことを示唆しているわけではない。言い換えると、エレメント間の幾つかの接続、関係、又は関連は、開示を曖昧にしないために、図面に示さない場合がある。加えて、例示を容易にするために、単一の接続エレメントを利用して、エレメント間の複数の接続、関係、又は関連を表している場合もある。
【００１３】
例えば、ある接続エレメントが、信号、データ、又は命令の通信を表している場合、当業者であれば、これらエレメントが、通信を実現するために、適宜、１又は複数の信号経路（例えばバス）を表すことができることを理解するべきである。図１を参照すると、ユーザ認証を管理するためのシステム１００は、コンピューティングデバイス１０２と複数の遠隔ベンダサーバ１０４とを含む。コンピューティングデバイス１０２は、任意で、ネットワーク１０６を介してベンダサーバ１０４それぞれと通信することができてよい。
【００１４】
利用に際して、コンピューティングデバイス１０２は、コンピューティングデバイス１０２のユーザを、遠隔ベンダサーバ１０４それぞれに対して認証するための認証データを生成及び維持するよう構成されている。認証データは、それぞれの遠隔ベンダサーバ１０４が、自身に対してユーザを認証するために必要な任意のタイプのデータを含んでよい。一実施形態では、例えば、認証データは、ユーザネーム及びパスワードとして実現される。しかし、コンピューティングデバイス１０２のユーザではなく、コンピューティングデバイス１０２が認証データを生成及び維持するので、各遠隔ベンダサーバ１０４のためのユーザネーム及びパスワードは、遠隔ベンダサーバ１０４の間で例外的に強く一意のものとなるように選択することができる。
【００１５】
この代わりに、他の実施形態では、認証データは、ハードウェア識別番号等のハッシュ等の、デジタル身元データとして実現されてもよい。後で詳述するように、コンピューティングデバイス１０２は、ベンダサーバ１０４からの認証制約を受信又は推論することによって認証データを生成する。認証制約は、認証データのフォーマット、サイズ、主題、置き換え、オーダ、利用可能な文字、フォント、固有性、又はその他の品質等の認証データの任意の品質を定義又は制限する任意のタイプのデータとして実現されてよい。
【００１６】
例えば、幾つかの実施形態では、認証制約は、最小のパスワード長、及び、１又は複数の特殊文字（例えばアンパサンド文字）がそのパスワードに含まれねばならないという要件を定義してよい。コンピューティングデバイス１０２は、遠隔ベンダサーバ１０４のそれぞれから受け取った認証制約を満たすように認証データを生成する。幾つかの実施形態では、コンピューティングデバイス１０２が、ユーザの入力無く又はほんの少しのユーザの入力で、認証データを生成及び管理する（例えば、ユーザは、生成されたユーザネーム及びパスワードのことを知らなくてよい）。
【００１７】
加えて、認証データのセキュリティを更に増すべく、又は、ベンダサーバ１０４の要件に呼応して、コンピューティングデバイス１０２は、認証データを定期的に又は応答可能なように（responsively）更新または変更してよい。生成されると、コンピューティングデバイス１０２は、生成された認証データを利用して、遠隔ベンダサーバ１０４に対するユーザの認証プロセス（例えばログインプロセス）を自動化してよい。
【００１８】
こうするために、コンピューティングデバイス１０２は、幾つかの実施形態において、最初に、コンピューティングデバイス１０２自身に対してユーザを認証する。コンピューティングデバイス１０２は、パスワードメカニズム、バイオメトリックデータ、顔／音声認識、キートークン、及び／又はその他を含む任意の適切な方法を利用してユーザを認証する。幾つかの実施形態では、ユーザは、コンピューティングデバイス１０２に対して一度だけ認証が必要である。しかし、他の実施形態では、コンピューティングデバイス１０２は、定期的に又は遠隔ベンダサーバ１０４の１つと通信せよとの要求に呼応して、ユーザに対して、コンピューティングデバイス１０２に対する認証を行うよう要求してよい。
【００１９】
いずれにしても、ユーザが、各ベンダサーバ１２８に対してではなくコンピューティングデバイス１０２のみに対して認証することが必要であることから、ユーザは、単一の強いパスワード又は他のセキュリティ対策を選択することができ、これは、複数の強いパスワード又はデバイスよりも覚えやすく及び／又は管理しやすい。
【００２０】
ユーザのコンピューティングデバイス１０２に対する認証に成功した場合には、ユーザは、コンピューティングデバイス１０２を操作して、遠隔ベンダサーバ１０４のうちいずれかにアクセスすることが許可される。この際に、コンピューティングデバイス１０２は、対応するベンダサーバ１０４のために生成された認証データを取得して、さもなくば、それぞれのベンダサーバ１０４に対して認証データを送信又は提供することによりユーザをベンダサーバ１０４に対して認証することによって、ユーザの認証を自動化するよう構成されている。このようにすることで、コンピューティングデバイス１０２は、強く、一意の認証データを、ベンダサーバ１０４それぞれに対して生成及び維持し、ユーザのセキュリティを全体的に増す。
【００２１】
コンピューティングデバイス１０２は、ここで説明する機能を実行することができる任意のタイプのコンピューティングデバイスとして実現されてよい。ある１つの具体的な実施形態では、コンピューティングデバイス１０２が、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、モバイルインターネットデバイス（ＭＩＤ）、情報携帯端末、又はその他のモバイルコンピューティング又は電子デバイス等のモバイルコンピューティングデバイスとして実現される。他の実施形態では、コンピューティングデバイス１０２は、デスクトップコンピュータ、スマート機器及び／又はその他のような実質的に固定されたコンピューティング又は電子デバイスとして実現されてもよい。
【００２２】
図１に示す実施形態では、コンピューティングデバイス１０２が、プロセッサ１１０、Ｉ／Ｏサブシステム１１４、メモリ１１６、通信回路１１８、データストレージ１２０、セキュリティエンジン１３０、及び１又は複数の周辺デバイス１６０を含む。幾つかの実施形態では、前述したコンポーネントの幾つかが、コンピューティングデバイス１０２のマザーボードの上に組み込まれてよく、他のコンポーネントが、例えば周辺ポートを介してマザーボードに通信可能に連結されてよい。
【００２３】
更に、コンピューティングデバイス１０２は、説明の明瞭性を期して図１には記載されていないが、モバイルコンピューティングデバイスによく見られる、他のコンポーネント、サブコンポーネント、及びデバイスを含んでよい。コンピューティングデバイス１０２のプロセッサ１１０は、マイクロプロセッサ、デジタル信号プロセッサ、マイクロコントローラ等のソフトウェア／ファームウェアを実行可能な任意のタイプのプロセッサとして実現されてよい。プロセッサ１１０は、例示として、プロセッサコア１１２をもつシングルコアプロセッサとして実現される。しかし他の実施形態では、プロセッサ１１０が、複数のプロセッサコア１１２をもつマルチコアプロセッサとして実現されてもよい。加えて、コンピューティングデバイス１０２は、１又は複数のプロセッサコア１１２をもつ更なるプロセッサ１１０を含んでよい。
【００２４】
コンピューティングデバイス１０２のＩ／Ｏサブシステム１１４は、プロセッサ１１０及び／又はコンピューティングデバイス１０２の他のコンポーネントとの入出力処理を促すための回路及び／又はコンポーネントとして実現されてよい。幾つかの実施形態では、Ｉ／Ｏサブシステム１１４は、メモリコントローラハブ（ＭＣＨ又は「ノースブリッジ」）、入出力コントローラハブ（ＩＣＨ又は「サウスブリッジ」）及びファームウェアデバイスとして実現されてよい。これらの実施形態では、Ｉ／Ｏサブシステム１１４のファームウェアデバイスは、基本入出力システム（ＢＩＯＳ）データ及び／又は命令及び／又は他の情報（例えばコンピューティングデバイス１０２の起動時に利用されるＢＩＯＳドライバ）を格納するためのメモリデバイスとして実現されてよい。しかし他の実施形態では、他の構成をもつＩ／Ｏサブシステムが利用されてよい。例えば幾つかの実施形態では、Ｉ／Ｏサブシステム１１４は、プラットフォームコントローラハブ（ＰＣＨ）として実現されてよい。
【００２５】
これらの実施形態では、メモリコントローラハブ（ＭＣＨ）は、プロセッサ１１０内に組み込まれていたり、さもなくばプロセッサ１１０に関連付けられていてよく、プロセッサ１１０は、メモリ１１６と直接通信してよい（図１の破線に示すように）。加えて、他の実施形態では、Ｉ／Ｏサブシステム１１４が、システムオンチップ（ＳｏＣ）の一部を形成してよく、プロセッサ１１０及びコンピューティングデバイス１０２の他のコンポーネントとともに、単一の集積回路チップの上に組み込まれてよい。プロセッサ１１０は、複数の信号経路を介してＩ／Ｏサブシステム１１４に通信可能に連結される。これら信号経路（及び図１に示すその他の信号経路）が、コンピューティングデバイス１０２のコンポーネント間の通信を促すことができる任意のタイプの信号経路として実現されてよい。
【００２６】
例えば、信号経路は、任意の数のポイントツーポイントリンク、ワイヤ、ケーブル、ライトガイド、プリント回路基板トレース、ビア、バス、介在デバイス及び／又はその他として実現されてよい。コンピューティングデバイス１０２のメモリ１１６は、１又は複数のメモリデバイス又はデータ格納位置として実現されてよく、又は該１又は複数のメモリデバイス又はデータ格納位置を含んでよく、該１又は複数のメモリデバイス又はデータ格納位置は、例えば、ダイナミックランダムアクセスメモリデバイス（ＤＲＡＭ）、シンクロノスダイナミックランダムアクセスメモリデバイス（ＳＤＲＡＭ）、ダブルデータレートシンクロノスダイナミックランダムアクセスメモリデバイス（ＤＤＲ  ＳＤＲＡＭ）、マスク読み出し専用メモリ（ＲＯＭ）デバイス、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）デバイス、フラッシュメモリデバイス、及び／又はその他の揮発性及び／又は不揮発性メモリデバイスを含む。
【００２７】
メモリ１１６は、複数の信号経路を介してＩ／Ｏサブシステム１１４に通信可能に連結される。単一のメモリデバイス１１６が図１には示されているが、コンピューティングデバイス１０２は、他の実施形態では更なるメモリデバイスを含んでもよい。様々なデータ及びソフトウェアがメモリ１１６に格納されてよい。例えば、プロセッサ１１０が実行するソフトウェアスタックを構成する１又は複数のオペレーティングシステム、アプリケーション、プログラム、ライブラリ、及びドライバが、実行中にメモリ１１６内に存在していてよい。コンピューティングデバイス１０２の通信回路１１８は、コンピューティングデバイス１０２と遠隔ベンダサーバ１０４との間のネットワーク１０６を介した通信を可能とするための任意の数のデバイス及び回路を含んでよい。
【００２８】
コンピューティングデバイス１０２は、例えば特定のタイプのネットワーク１０６に応じて、ネットワーク１０６を介してベンダサーバ１０４と通信する任意の適切な通信プロトコルを利用してよい。ネットワーク１０６は、任意の数の様々な有線及び／又は無線通信ネットワークとして実現されてよい。例えばネットワーク１０６は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、又は、インターネット等の公的にアクセス可能な、グローバルネットワークとして実現されても、これらを含んでもよい。
【００２９】
加えて、ネットワーク１０６は、コンピューティングデバイス１０２と遠隔ベンダサーバ１０４との間の通信を促すための任意の数の更なるデバイスを含んでよい。幾つかの実施形態では、通信回路１１８が、更に、近距離無線通信（ＮＦＣ）回路又はＢｌｕｅｔｏｏｔｈ（登録商標）通信回路等の非接触通信メカニズムを含んでよい。これらの実施形態では、ユーザを遠隔ベンダサーバ１０４に対して認証するときに利用されるものに類似した様式で、コンピューティングデバイス１０２が、非接触通信メカニズムを利用して、コンピューティングデバイス１０２のユーザを認証するために１又は複数のローカルベンダサーバ１８０と通信してもよい。データストレージ１２０は、例えばメモリデバイス及び回路、メモリカード、ハードディスクドライブ、固体ドライブ、又はその他のデータ格納デバイス等の、データを短期的又は長期的に格納するよう構成された任意のタイプのデバイス（１つ又は複数）として実現されてよい。オペレーティングシステム及び関連するソフトウェアアプリケーション等の様々なソフトウェアプログラムが、コンピューティングデバイス１０２の処理中に、データストレージ１２０に格納されたり、データストレージ１２０からロードされてよい。
【００３０】
セキュリティエンジン１３０は、後で詳述するようなセキュリティ、暗号化、及び／又は認証機能を実行するよう構成されている任意のタイプのハードウェア及び関連するファームウェアとして実現されてよい。例えばセキュリティエンジン１３０は、コンピューティングデバイス１０２上にセキュアな環境を構築するために利用可能な、セキュリティコプロセッサ、アウトオブバンドプロセッサ、トラステッドプラットフォームモジュール（ＴＰＭ）、及び／又は他のセキュリティ向上ハードウェア及び／又は関連するソフトウェアモジュールとして実現されてもよいし、さもなくばこれらを含んでもよい。
【００３１】
例示的な実施形態では、セキュリティエンジン１３０は、ユーザ認証モジュール１４０、セキュアなストレージ１５０、及び暗号化エンジン１５６を含む。しかし、セキュリティエンジン１３０は、他の実施形態では、更なるモジュール及び／又はデバイスを含んでもよいことを理解されたい。ユーザ認証モジュール１４０は、コンピューティングデバイス１０２のユーザをベンダサーバ１０４、１８０に対して認証するよう構成された、様々なソフトウェア、ファームウェア、及び／又は関連するハードウェア（例えば論理ユニット）として実現されてよい。
【００３２】
こうするために、後で詳述するように、ユーザ認証モジュール１４０は、ベンダサーバ１０４、１８０から認証制約を受信又は推論して、認証データ１５２を、このような認証制約の関数として生成する。加えて、ユーザ認証モジュール１４０は、ユーザのコンピューティングデバイス１０２自身への認証を制御及び管理する。上述したように、認証データは、ベンダサーバ１０４、１８０が、それぞれのベンダサーバ１０４、１８０に対してユーザを認証（例えばログイン）するために必要とする、ユーザネーム及び関連するパスワード等の任意のタイプのデータとして実現されてよい。
【００３３】
ユーザ認証モジュール１４０は、セキュアなストレージ１５０に認証データを格納してよく、セキュアなストレージ１５０は、セキュリティエンジン１３０のローカルなセキュアなメモリ又はメモリ１１６のセキュアなパーティションとして実現されてよい。幾つかの実施形態では、セキュリティエンジン１３０は、更に、対応する暗号化キー１５４を利用して様々な暗号化機能を実行するための暗号化エンジン１５６を含んでもよい。例えば幾つかの実施形態では、コンピューティングデバイス１０２とベンダサーバ１０４、１８０との間の通信が、暗号化エンジン１５６を利用して暗号化されてよい。幾つかの実施形態では、コンピューティングデバイス１０２は、１又は複数の周辺デバイス１６０を含んでもよい。
【００３４】
これらの周辺デバイスは、任意の数の更なる入出力デバイス、インタフェースデバイス、及び／又は他の周辺デバイスを含んでよい。例えば幾つかの実施形態では、周辺デバイス１６０が、コンピューティングデバイス１０２のユーザに対して情報を表示するためのディスプレイ、及び、ユーザからの入力を受信するためのキーボード又は他の入力デバイスを含んでよい。ベンダサーバ１０４、１８０は、任意のタイプのデータサーバ、コンピューティングデバイス、又は、コンピューティングデバイス１０２のユーザの認証を必要とする他の電子デバイスとして実現されてよい。
【００３５】
例えば幾つかの実施形態では、遠隔ベンダサーバ１０４の１又は複数が、オンライン取引を促すよう構成された銀行サーバ、電子商取引サーバ等の金融データサーバ、又は、コンピューティングデバイス１０２に対してクラウドベースのサービスを提供するよう構成されたクラウドベースのサービスサーバとして実現されてよい。加えて、幾つかの実施形態では、ローカルベンダサーバ１８０が、金融コンピューティングデバイス、例えば、現金自動預入支払機（ＡＴＭ）、又は、コンピューティングデバイス１０２のユーザの認証を必要とするその他の金融コンピューティングデバイスとして実現されてよい。
【００３６】
ベンダサーバ１０４、１８０はここでは「ベンダサーバ」と称されているが、サーバ１０４、１８０は、コンピューティングデバイス１０２のユーザの認証を必要とする任意のタイプの電子デバイスとして実現されてよい。つまり、幾つかの実施形態では、ベンダサーバ１０４、１８０は、スタンドアロンデータサーバとして実現されなくてもよいし、ユーザに特定のプロダクト又はサービスを提供しなくてもよい。
【００３７】
例えば、幾つかの実施形態では、ベンダサーバ１０４、１８０は、スマート機器、家庭用コンピュータ、その他の、ユーザの認証を必要とする電子デバイスとして実現されてよい。ベンダサーバ１０４、１８０は、説明の明瞭性を期して図１には記載されていないが、１又は複数のプロセッサ、メモリデバイス、Ｉ／Ｏサブシステム、データ格納デバイス、及び、様々な周辺デバイス等の、サーバ、コンピューティングデバイス、及びその他の電子デバイス内によく見られるデバイス及び構造を含んでよい。
【００３８】
例えば遠隔ベンダサーバ１０４のそれぞれは、ネットワーク１０６を介したコンピューティングデバイス１０２との通信を促すための通信回路１７２を含んでよい。同様に、ローカルベンダサーバ１８０は、上述したような、コンピューティングデバイス１０２との間の非接触通信を促すための非接触通信回路等の通信回路１８２を含んでよい。図２を参照すると、利用において、コンピューティングデバイス１０２は、オペレーティング環境２００を構築してよい。環境２００は、１又は複数のソフトウェアアプリケーション２０２を例示として含み、この１又は複数のソフトウェアアプリケーション２０２は、セキュリティエンジン１３０のユーザ認証モジュール１４０と、１又は複数のアプリケーションプログラムインタフェース２０４（ＡＰＩ）を介して通信又は相互通信するよう構成されてよい。
【００３９】
ソフトウェアアプリケーション２０２は、コンピューティングデバイス１０２上で実行可能であり（例えばコンピューティングデバイス１０２のオペレーティングシステム上で実行可能である）、後述するようにユーザ認証モジュール１４０の認証機能の利用を必要とする、任意のタイプのソフトウェアアプリケーションとして実現されてよい。
【００４０】
例えば、ソフトウェアアプリケーション２０２は、１又は複数のウェブブラウザ、金融管理アプリケーション、電子商取引アプリケーション、又は、コンピューティングデバイス１０２のユーザの１又は複数のベンダサーバ１０４、１８０に対する認証を必要とする又は促すその他のソフトウェアアプリケーションを含んでよい。上述したように、ユーザ認証モジュール１４０は、コンピューティングデバイス１０２のユーザのベンダサーバ１０４、１８０に対する、及び、コンピューティングデバイス１０２自身に対する認証を制御及び管理する。
【００４１】
このような機能を促すために、図２の例示的な実施形態では、ユーザ認証モジュールは、デバイス認証モジュール２１０、ベンダ認証モジュール２１２、認証データ生成モジュール２１４、イベントログモジュール２１６、及びセキュアなストレージ１５０を含む。デバイス認証モジュール２１０は、コンピューティングデバイス１０２自身に対するユーザの認証を促進及び管理する。例えば後で詳述するように、デバイス認証モジュール２１０は、パスワード、バイオメトリックデータ、音声又は顔認識、セキュリティトークン等の認証データ、又はその他の認証データを、ユーザに対して要求して、これらのユーザ認証データをセキュアなストレージ１５０に格納してよい。
【００４２】
デバイス認証モジュール２１０は、コンピューティングデバイス１０２に対してユーザの認証を定期的に又は応答可能なように要求してよく、セキュアなストレージ１５０に格納されているユーザ認証データに基づいてユーザの身元を検証してよい。このようにすることで、コンピューティングデバイス１０２のユーザは、認証データの１つのインスタンス（例えば単一のパスワード）を利用することでコンピューティングデバイス１０２に対して認証することが要求され、これにより、ユーザ認証データがより強くなるだろう。
【００４３】
例えば、ユーザは、後述するように複数のベンダサーバ１０４、１８０に対して自身を認証するために、単一のパスワードを覚えておくことのみが必要であるので、ユーザは、コンピューティングデバイス１０２に対して認証するために、より強いパスワードを利用することができる。ベンダ認証モジュール２１２は、コンピューティングデバイス１０２のユーザのベンダサーバ１０４、１８０に対する認証を管理及び制御する。こうするために、ベンダ認証モジュール２１２は、最初に、ベンダサーバ１０４、１８０から、認証データの様々な側面又は品質（例えばパスワードの長さ、フォーマット等）を定義する認証制約を得る（例えば受信、取得、又は推論する）。
【００４４】
ベンダ認証モジュール２１２は、このような認証制約を、認証データ生成モジュール２１４に渡し、認証データが認証制約の関数として生成される。つまり、認証データ生成モジュール２１４は、コンピューティングデバイス１０２のユーザをそれぞれのベンダサーバ１０４、１８０に認証するために利用されてよい認証データ（例えばユーザネーム及びパスワード）を生成して、生成された認証データをセキュアなストレージ１５０に格納する。こうするために、認証データ生成モジュール２１４は、認証データを生成するために任意の適切な方法又はアルゴリズムを利用してよい。
【００４５】
例えば一実施形態では、認証データ生成モジュール２１４は、ランダムな（randomized）認証データが認証制約を満たすように、認証データをランダムに生成してよい。このような実施形態では、認証データ生成モジュール２１４は、認証データの任意の側面又は品質をランダム化してよい。例えば認証データがユーザネーム及び／又はパスワードである実施形態では、認証データ生成モジュール２１４は、ランダムな長さのランダムな文字及び／又はランダムな大文字をもつユーザネーム及び／又はパスワードを生成してよく、これらは、生成後も、依然としてベンダサーバ１０４、１８０の認証制約を満たしている。
【００４６】
加えて、幾つかの実施形態では、認証データ生成モジュール２１４は、生成された認証データの履歴を記録して、各生成される認証データが、前に生成された認証データに対して一意であり、認証データが繰り返されないように保証する。認証データ生成モジュール２１４が、特定のベンダサーバ１０４、１８０のための認証データを生成すると、ベンダ認証モジュール２１２は、セキュアなストレージ１５０から認証データを取得して、認証データを利用して、ユーザをそれぞれのベンダサーバ１０４、１８０に対して認証（例えばログイン）してよい。例えば、ベンダ認証モジュール２１２は、認証データをネットワーク１０６を介して送信することにより、認証データを遠隔ベンダサーバ１０４に提供してよい。
【００４７】
幾つかの実施形態では、ユーザ認証モジュール１４０は、イベントログモジュール２１６を含んでもよい。イベントログモジュール２１６は、ユーザ認証モジュール１４０の処理を監視して、後の分析のために様々なイベントを記録する（log）。例えば、何らかのセキュリティイベントが生じた場合（例えばユーザがコンピューティングデバイス１０２に対して自身を認証できない）、イベントログモジュール２１６は、このようなセキュリティイベントを記録してよい。加えて、幾つかの実施形態では、セキュリティイベントの発生が参照閾値に達すると、イベントログモジュール２１６、又は、セキュリティエンジン１３０の他のセキュリティモジュールが、コンピューティングデバイス１０２をロックする、通信回路１１８を遮断する及び／又はその他等の１又は複数のセキュリティ機能を実行するよう構成されてよい。
【００４８】
図３を参照すると、上述したように、コンピューティングデバイス１０２は、ユーザをコンピューティングデバイス１０２自身に認証するためのローカルなユーザ認証データを構築するための方法３００を実行してよい。方法３００は、例えばユーザ認証モジュール１４０のデバイス認証モジュール２１０によって実行されてよい。方法３００は、ブロック３０２で、デバイス認証モジュール２１０が、ユーザがコンピューティングデバイス１０２に対して新たなユーザであるかを判断することから開始される。幾つかの実施形態では、コンピューティングデバイス１０２は、複数のユーザをサポートしてよく、各ユーザは、異なる認証データを用いて同じ又は異なるベンダサーバ１０４、１８０に対して認証されてよい。デバイス認証モジュール２１０は、ユーザが新たなユーザであるかを、予め構築されたユーザ認証データの入力及び／又は他の適切な方法に基づいて、このような情報のユーザを促進することにより判断してよい。ユーザが新たなユーザではない場合、方法３００はブロック３０４に進み、デバイス認証モジュール２１０が、既存のユーザが、自身の既存の認証データを更新又は変更したいかを判断する。幾つかの実施形態では、ユーザは、認証データの更新又は変更を開始してよい。
【００４９】
あるいは、デバイス認証モジュール２１０が、ユーザをコンピューティングデバイス１０２に対して認証するために利用されるユーザ認証データに対する定期的な更新／変更を必要としてよい。ユーザ認証データに対する更新／変更が必要ない場合には、方法３００が完了する。しかしユーザが新たなユーザである場合（ブロック３０２）、又は既存のユーザが既存の認証データの更新／変更を望んでいる又は促された場合には（ブロック３０４）、方法３００はブロック３０６に進んで、デバイス認証モジュール２１０が、ローカルユーザ認証データを構築する。
【００５０】
上述したように、ユーザ及び／又はデバイス認証モジュール２１０は、例えばコンピューティングデバイス１０２のタイプ及び／又はその意図する機能に応じて、任意のタイプの認証データを利用して、ユーザをコンピューティングデバイス１０２に認証してよい。例えば上述したように、ユーザ認証データは、パスワードデータ、バイオメトリックデータ、顔／音声認識データ、キートークンデータ、及び／又はその他として実現されてよい。ユーザは、認証データをデバイス認証モジュール２１０に、コンピューティングデバイス１０２自身を利用して入力又は供給してよい。ブロック３０８で、デバイス認証モジュール２１０は、幾つかの実施形態では、ユーザ認証データを暗号化してよい。こうするために、デバイス認証モジュール２１０は、ユーザ認証データを暗号化するために暗号化エンジン１５６を利用してよい。
【００５１】
いずれにしても（Regardless）、ブロック３１０で、デバイス認証モジュール２１０は、ユーザ認証データを、セキュリティエンジン１３０のセキュアなストレージ１５０に格納する。コンピューティングデバイス１０２が複数のユーザをもつ実施形態では、デバイス認証モジュール２１０が、後述するように、それぞれのユーザの識別データに関連付けて、及び／又は、ベンダサーバ１０４、１８０に対してユーザを認証するために生成された認証データに関連付けて、セキュアなストレージ１５０にユーザ認証データを格納してよい。図４を参照すると、利用に際して、コンピューティングデバイス１０２は、コンピューティングデバイス１０２のユーザを１又は複数のベンダサーバ１０４、１８０に対して認証するための方法４００を実行してよい。
【００５２】
方法４００は、ブロック４０２で、ユーザ認証モジュール１４０のベンダ認証モジュール２１２が、ユーザが、ベンダサーバ１０４、１８０との取引を望んでいるかを判断することから始まる。ベンダ認証モジュール２１２は、このような判断を、例えば、コンピューティングデバイス１０２と対応するベンダサーバ１０４、１８０との間の通信トラフィック、ユーザまたはアプリケーション及び／又はその他から受信した要求に基づいて行ってよい。
【００５３】
ベンダサーバ１０４、１８０との取引が望まれている場合、方法４００はブロック４０４に進み、ベンダ認証モジュール２１２がベンダを特定する。こうするために、ベンダ認証モジュール２１２は、再度、コンピューティングデバイス１０２とベンダサーバ１０４、１８０との間の通信トラフィックを監視してよく、又は、監視は、ユーザ及び／又はアプリケーションからの要求によって開始されてもよい。あるいは、幾つかの実施形態では、ベンダサーバ１０４、１８０が、コンピューティングデバイス１０２に、自身の身元を、例えば識別子又は識別データに基づいて通知してもよい。ブロック４０６で、ベンダ認証モジュール２１２は、現在のベンダが既存のベンダか（つまり認証データが特定のベンダについて生成されているか）を判断する。こうするために、ベンダ認証モジュール２１２は、現在のベンダが既存のベンダかを判断するための任意の適切な方法を利用してよい。
【００５４】
例えば幾つかの実施形態では、生成された認証データがセキュアなストレージ１５０に、対応するベンダの識別データと関連付けて格納される。幾つかの実施形態では、ベンダ認証モジュール２１２は、識別データを分析して、現在のベンダが既存のベンダかを判断する。あるいは、ベンダ認証モジュール２１２は、既存のベンダのリストを維持し、これは、セキュアなストレージ１５０に格納されていてよい。
【００５５】
ベンダ認証モジュール２１２が現在のベンダが既存のベンダではないと判断すると、幾つかの実施形態では、方法４００はブロック４０８に進む。ブロック４０８で、コンピューティングデバイス１０２は、ユーザに、コンピューティングデバイス１０２に対して認証するよう要求する。つまり一部の実施形態では、デバイス認証モジュール２１０が、ユーザに対して、１又は複数のベンダサーバ１０４、１８０のとの間の各取引についてコンピューティングデバイス１０２に対して認証するよう要求してよい。あるいは、他の実施形態では、デバイス認証モジュール２１０は、ユーザに対して、コンピューティングデバイスに対して一度だけ認証するよう要求してもよい（例えば１セッションについて一回）。
【００５６】
ユーザをコンピューティングデバイス１０２に対して認証するために、コンピューティングデバイス１０２のデバイス認証モジュール２１０は、図５に示すようなユーザ認証方法５００を実行してよい。方法５００は、ブロック５０２で、デバイス認証モジュール２１０が、ユーザをコンピューティングデバイス１０２に対して認証するかを判断することから始まる。判断結果が肯定的である場合には、方法５００は、ブロック５０４に進み、デバイス認証モジュール２１０がユーザに対してユーザ認証データを入力するよう要求する。
【００５７】
このような要求の形態は、例えば、ユーザを認証するために利用されるユーザ認証データのタイプに応じていてよい。例えばユーザがパスワードを入力するよう要求される実施形態では、デバイス認証モジュール２１０は、ユーザに対して、コンピューティングデバイス１０２の表示スクリーンにパスワードを入力するよう促してよいあるいは、ユーザ認証データが顔又は音声認識データとして実現されている実施形態では、デバイス認証モジュール２１０が、ユーザにコンピューティングデバイス１０２のカメラをのぞき込み、又は、コンピューティングデバイス１０２のマイクに向かって話しかけるよう要求してよい。
【００５８】
いずれにしても、ブロック５０６で、デバイス認証モジュール２１０は、ユーザの認証データを受信する。ブロック５０８で、デバイス認証モジュール２１０は、予め構築されたローカルユーザ認証データをセキュアなストレージ１５０から取得する。上述したように、デバイス認証モジュール２１０は、図３の方法３００を利用して、ユーザをコンピューティングデバイス１０２に対して認証するためにローカルユーザ認証データを生成してもよい。
【００５９】
ユーザの予め構築された認証データが、暗号化された状態で格納されている場合には、デバイス認証モジュール２１０は、ブロック５１０で、暗号化エンジン１５６を利用して認証データを復号してよい。ブロック５１２で、デバイス認証モジュール２１０は、取得され、予め構築されたユーザ認証データを、ブロック５０６でコンピューティングデバイス１０２に供給されたユーザ認証データと比較する。デバイス認証モジュール２１０は、認証データが合致しないと判断すると、方法５００がブロック５１４に進み、デバイス認証モジュール２１０が、ユーザの認証を拒否する。幾つかの実施形態では、イベントログモジュール２１６は、上述したように、認証の拒否をセキュリティイベントとして記録して、及び／又は、更なるセキュリティ対策をとってよい。
【００６０】
しかしデバイス認証モジュール２１０が、認証データが合致すると判断した場合には、方法５００がブロック５１６に進み、デバイス認証モジュール２１０が、ユーザをコンピューティングデバイス１０２に対して認証する。図４の方法４００に戻ると、ブロック４０８においてユーザのコンピューティングデバイス１０２に対する認証に成功すると、方法４００はブロック４１０に進み、ベンダ認証モジュール２１２が、ベンダサーバ１０４、１８０に対して新たなユーザ登録を要求する。あるいは、幾つかの実施形態では、ブロック４１２で、新たなユーザ登録要求がベンダサーバ１０４、１８０から受け取られてよい。
【００６１】
いずれにしても、ブロック４１４で、ベンダ認証モジュール２１２は、ベンダサーバ１０４、１８０のための認証制約を判断する。例えば幾つかの実施形態では、ベンダ認証モジュール２１２が、ブロック４１６で、ベンダサーバ１０４、１８０に直接、認証制約を要求してよい。これに呼応して、ベンダサーバ１０４、１８０は、認証制約をコンピューティングデバイス１０２に送信してよい。例えば幾つかの実施形態では、コンピューティングデバイス１０２及びベンダサーバ１０４、１８０が、予め構築されたプロトコルを利用して、認証制約を転送してよい。
【００６２】
こうするために、コンピューティングデバイス１０２は、ベンダサーバ１０４、１８０に、認証制約を要求するようクエリしてよい。認証制約応答は、予め構築されたフォーマット（例えばuser_id/device_id、パスワードの長さ、パスワードの期限切れ等）を、認証制約プロトコルの一部として持っていてよく、又は、コンピューティングデバイス１０２とベンダサーバ１０４、１８０との間で、適切なハンドシェークプロトコルを利用して決定されてよい。認証制約要求をコンピューティングデバイス１０２から受信することに呼応して、ベンダサーバ１０４、１８０は、共有秘密又はRivest-Shamir-Adleman (RSA)公開鍵対等の任意の適切なセキュリティメカニズムを利用してコンピューティングデバイス１０２との間にセキュアなチャネルを構築してよい。認証制約自身とともに認証制約を構築するためのデータの転送は、対称又は非対称鍵暗号化アルゴリズムを利用して暗号化されてよい。
【００６３】
あるいは、幾つかの実施形態では、ベンダ認証モジュール２１２は、ブロック４１６で認証制約を推論してもよい。こうするために、ベンダ認証モジュール２１２は、ベンダサーバ１０４、１８０に対してユーザを認証するために利用される認証データの制約を推論するための任意の適切な方法又はアルゴリズムを利用してよい。例えば幾つかの実施形態では、ベンダ認証モジュール２１２が、ベンダサーバ１０４，１８０のウェブサイト又はユーザスクリーンのメタデータ又はテキストから情報を抽出してもよい。上述したように、認証制約は、上述したようにユーザをベンダサーバ１０４、１８０に認証するために利用される認証データの何らかの品質を定義するまたはこれに制限を課す任意のタイプのデータとして実現されてよい。
【００６４】
幾つかの実施形態では、コンピューティングデバイス１０２のユーザは、クラウド又は遠隔サーバ上に認証データを生成するために認証制約及び／又はユーザポリシーを格納してよい。認証制約及び／又はユーザポリシーのクラウド格納又はバックアップによって、ユーザは、認証制約、ユーザポリシー、及び認証データを複数のデバイス間で同期することができるようになる。ベンダ認証モジュール２１２が、ベンダサーバ１０４、１８０のための認証制約を判断すると、ベンダ認証モジュール２１２は、このような認証制約を認証データ生成モジュール２１４に提供してよい。
【００６５】
次いでブロック４１８で、認証データ生成モジュール２１４は、ユーザをベンダサーバ１０４、１８０に対して認証するための認証データを、認証制約の関数として生成する。上述したように、認証データ生成モジュール２１４は、認証データを生成するために任意の適切な方法又はアルゴリズムを利用してよい。ある１つの特定の実施形態では、ユーザ認証データがユーザネーム及び関連するパスワードとして実現される。このような実施形態では、例えば、ベンダ認証モジュール２１２は、上述したように、任意の適切な方法を利用して（例えばランダム化方法）、ユーザネーム及びパスワードのそれぞれを生成してよい。
【００６６】
パスワードに加えてユーザネームを認証データ生成モジュール２１４によって生成することから、認証データのセキュリティを増すことができる点を理解されたい。これに加えて又はこれに代えて、幾つかの実施形態では、認証データは、コンピューティングデバイス１０２を一意に特定するデジタル身元データとして実現されてよい。これらデジタル身元データは、コンピューティングデバイス１０２によって、プロセッサ１１０の識別番号のハッシュ、Ｅｔｈｅｒｎｅｔ（登録商標）又はＷｉＦｉ（登録商標）マシンアクセス制御（ＭＡＣ）アドレスのハッシュ、別のハードウェアデバイス識別番号、又は、例えばセキュリティエンジン１３０が生成した一意の乱数又はパスキー等のハードウェアプラットフォームのルートオブトラスト（root of trust）に基づいて生成されてよい。
【００６７】
これらハードウェアベースのデジタル身元データのこの利用は、更に、対応するベンダサーバ１０４、１８０の、コンピューティングデバイス１０２の特定のプラットフォームへのアクセスに制約を課すだろう。認証データ生成モジュール２１４が、コンピューティングデバイス１０２のユーザをそれぞれのベンダサーバ１０４，１８０に認証するために認証データを生成した後で、方法４００はブロック４２２に進み、認証データ生成モジュール２１４が、新たに生成された認証データをセキュアなストレージ１５０に格納する。
【００６８】
上述したように、幾つかの実施形態では、認証データ生成モジュール２１４は、暗号化エンジン１５６の助けを得て、生成された認証データを暗号化された状態で格納する。幾つかの実施形態では、生成された認証データが、ベンダ識別データに関連付けて格納され、各ベンダサーバ１０４、１８０のための正しい認証データの取得を可能としてよい。加えて、幾つかの実施形態では、コンピューティングデバイス１０２のユーザが生成された認証データを見ることを許可されずに、認証データが生成され格納される。
【００６９】
つまり、幾つかの実施形態では、認証データが常にセキュアである。ブロック４２２で、認証データ生成モジュール２１４が新たに生成された認証データを格納した後で、コンピューティングデバイス１０２は、ブロック４２４で新たなベンダとの認証プロセスを完了してよい。こうするために、ベンダ認証モジュール２１２は、生成された認証データをセキュアなストレージ１５０から取得してよく、認証データをそれぞれのベンダサーバ１０４、１８０に送信又は提供してよい。幾つかの実施形態では、ベンダサーバ１０４、１８０は、しばしば、ブロック４２６で、ユーザに認証データを更新又は変更するよう（例えばユーザネーム又はパスワードを更新するよう）要求してよい。
【００７０】
こうするために、方法４００は、ブロック４１４にループバックして、ベンダ認証モジュール２１２が、ベンダサーバ１０４、１８０のための認証制約（変更されている可能性がある）を判断して、認証データ生成モジュール２１４は、ブロック４１８で、新たな又は前の認証制約に基づいて新たな認証データを生成する。しかし、認証データに更新が必要ない場合には、方法４００はブロック４２８に進み、コンピューティングデバイス１０２が認証又はログインプロセスを完了する。次いでユーザはコンピューティングデバイス１０２を作動して、通常通りにベンダサーバ１０４、１８０と相互通信する。
【００７１】
ブロック４０６を参照すると、ベンダ認証モジュールが、ベンダが既存のベンダであると判断した場合、幾つかの実施形態では、方法４００はブロック４３０に進む。ブロック４３０で、コンピューティングデバイス１０２は、ユーザに、コンピューティングデバイス１０２に対して認証を行うように要求する。ブロック４０８に関して上述したように、コンピューティングデバイス１０２のデバイス認証モジュール２１０は、ユーザをコンピューティングデバイス１０２に対して認証するためにユーザ認証方法５００を実行してよい（図５参照）。
【００７２】
ユーザのコンピューティングデバイス１０２に対する認証に成功した後で（又はユーザ認証が不要な場合）、方法４００はブロック４３２に進み、ベンダ認証モジュール２１２が、セキュアなストレージ１５０から既存のベンダに対応している、前に生成された認証データを取得する。上述したように、認証データは、コンピューティングデバイス１０２のユーザを認証するために、ベンダサーバ１０４、１８０が必要とする任意のタイプのデータとして実現されてよい。例えば幾つかの実施形態では、認証データは、ユーザネーム及び関連するパスワードとして実現される。
【００７３】
幾つかの実施形態では、ベンダ認証モジュール２１２が、ブロック４３４において、既存のベンダに対するユーザネーム及びパスワードを取得する。上述したように、幾つかの実施形態では、認証データが、セキュアなストレージ１５０に、暗号化された状態で格納されてよい。
【００７４】
この場合、ベンダ認証モジュール２１２は、ブロック４３６で、暗号化エンジン１５６を利用して、認証データを復号してよい。方法４００は、次いでブロック４２４に進み、ベンダ認証モジュール２１２は、認証データをそれぞれのベンダサーバ１０４、１８０に送信または提供する。ここでもブロック４２６で、ベンダサーバ１０４、１８０は、ユーザに、認証データを更新又は変更するよう要求してよい。この場合、方法４００はブロック４１４にループバックして、ベンダ認証モジュール２１２は、ベンダサーバ１０４、１８０のための認証制約（変更されている場合がある）を判断する。
【００７５】
しかし認証データに対して更新が必要ではない場合、方法４００はブロック４２８に進み、コンピューティングデバイス１０２が認証又はログインプロセスを完了する。このようにして、コンピューティングデバイス１０２のユーザは、複数のベンダサーバ１０４、１８０に対する強い認証データを、これら認証データの作成及び／又は維持に対して殆どまたは全く相互通信することなく、生成及び管理してよい。開示を図面及び前述した記載に詳細に示し説明してきたが、これらの例示及び記載は、例として捉えられるべきであり、その性質上限定ではなく、例示的な実施形態のみが示され説明されており、本開示及び記載される請求項と一貫性を持つ全ての変形例及び変更例が保護されることを希望する。
本発明の例を下記の各項目において示す。
［項目１］
コンピューティングデバイスのユーザをベンダコンピューティングデバイスに対して認証するために、前記ベンダコンピューティングデバイスから複数の認証制約を受信するベンダ認証モジュールと、
前記ユーザを前記ベンダコンピューティングデバイスに対して認証するために、認証データを前記複数の認証制約の関数として生成する認証データ生成モジュールと
を備えるコンピューティングデバイスであって、
前記ベンダ認証モジュールは、生成された前記認証データを前記ベンダコンピューティングデバイスに提供することにより、前記ユーザを前記ベンダコンピューティングデバイスに対して認証する、コンピューティングデバイス。
［項目２］
前記ベンダコンピューティングデバイスは、金融データサーバ、電子商取引サーバ、及びクラウドベースのサービスサーバのうち１つを含む、項目１に記載のコンピューティングデバイス。
［項目３］
前記コンピューティングデバイスは、モバイルコンピューティングデバイスを含む、項目１に記載のコンピューティングデバイス。
［項目４］
前記複数の認証制約は、前記ユーザを前記ベンダコンピューティングデバイスに対して認証するためのユーザパスワードを生成するための複数のパスワード制約を含む、項目１に記載のコンピューティングデバイス。
［項目５］
前記複数のパスワード制約は、前記パスワードのための文字の最小長さ、及びアルファベットではない文字要件のうち少なくとも１つを含む、項目４に記載のコンピューティングデバイス。
［項目６］
前記複数の認証制約は更に、前記ユーザを前記ベンダコンピューティングデバイスに対して認証するためのユーザネームを生成するための複数のユーザネーム制約を含む、項目４に記載のコンピューティングデバイス。
［項目７］
前記複数のユーザネーム制約は、前記ユーザネームのための文字の最小長さ、及びアルファベットではない文字要件のうち少なくとも１つを含む、項目６に記載のコンピューティングデバイス。
［項目８］
前記ベンダ認証モジュールは、予め構築されたプロトコルに従って前記ベンダコンピューティングデバイスから前記複数の認証制約を受信する、項目１に記載のコンピューティングデバイス。
［項目９］
前記ベンダ認証モジュールは、前記複数の認証制約を受信するべく、前記ベンダコンピューティングデバイスとの間でセキュアな通信チャネルを構築する、項目８に記載のコンピューティングデバイス。
［項目１０］
前記認証データ生成モジュールは、前記複数の認証制約を満たすパスワードを生成する、項目１に記載のコンピューティングデバイス。
［項目１１］
前記認証データ生成モジュールは、前記複数の認証制約を満たすユーザネームを生成する、項目１０に記載のコンピューティングデバイス。
［項目１２］
前記認証データが格納されたセキュアなデータストレージを更に備え、
前記ベンダ認証モジュールは更に、
前記ベンダコンピューティングデバイスからログオンプロンプトを受信して、
前記セキュアなデータストレージから前記認証データを取得して、
前記ユーザを前記ベンダコンピューティングデバイスに対して認証するために、前記認証データを前記ベンダコンピューティングデバイスに提供する、項目１に記載のコンピューティングデバイス。
［項目１３］
前記認証データ生成モジュールは更に、新たな認証データを、前記複数の認証制約の関数として定期的に生成する、項目１に記載のコンピューティングデバイス。
［項目１４］
前記ベンダ認証モジュールは更に、前記ベンダコンピューティングデバイスから、前記認証データを更新せよとの要求を受信し、
前記認証データ生成モジュールは、前記ユーザからの入力なく、新たな認証データを前記複数の認証制約の関数として生成する、項目１に記載のコンピューティングデバイス。
［項目１５］
前記認証データ生成モジュールは更に、
ユーザを前記ベンダコンピューティングデバイスに対して認証するための複数の新たな認証制約を受信して、前記新たな認証データを前記複数の新たな認証制約の関数として生成する、
項目１４に記載のコンピューティングデバイス。
［項目１６］
前記認証データ生成モジュールは、前記ユーザからの入力なく、前記認証データを前記複数の認証制約の関数として生成する、項目１に記載のコンピューティングデバイス。
［項目１７］
前記認証データは、前記コンピューティングデバイスのハードウェアコンポーネントのハードウェア識別番号から形成されたデジタル身元データを含む、項目１に記載のコンピューティングデバイス。
［項目１８］
前記デジタル身元データは、前記ハードウェア識別番号のハッシュ値である、項目１７に記載のコンピューティングデバイス。
［項目１９］
前記ユーザを前記コンピューティングデバイスに対して認証するための、デバイス認証モジュールを更に備える、項目１に記載のコンピューティングデバイス。
［項目２０］
前記デバイス認証モジュールは、前記ベンダ認証モジュールが、生成された前記認証データを前記ベンダコンピューティングデバイスに提供する前に、前記コンピューティングデバイスに対して前記ユーザを認証する、項目１９に記載のコンピューティングデバイス。
［項目２１］
前記デバイス認証モジュールは、
ユーザ識別子、ユーザネーム、パスワード、バイオメトリックデータ、及びキートークンのうち少なくとも１つを入力するよう前記ユーザを促し、
前記ユーザ識別子、前記ユーザネーム、前記パスワード、前記バイオメトリックデータ、及び前記キートークンのうち前記少なくとも１つの関数として前記ユーザを認証する、項目２０に記載のコンピューティングデバイス。
［項目２２］
前記ベンダ認証モジュールは更に、複数の更なるベンダコンピューティングデバイスから複数の認証制約を受信して、
前記認証データ生成モジュールは更に、前記ユーザからの入力なく、前記ユーザを前記複数の更なるベンダコンピューティングデバイスのそれぞれに対して認証するために、前記複数の更なるベンダコンピューティングデバイスのそれぞれのための一意の認証データを、対応する前記複数の認証制約の関数として生成する、項目１に記載のコンピューティングデバイス。
［項目２３］
前記ベンダ認証モジュールは、認証データを近距離通信リンクを介して前記ベンダコンピューティングデバイスに送信させることによって、前記ユーザを認証する、項目１に記載のコンピューティングデバイス。
［項目２４］
セキュアなストレージを更に備え、
前記認証データ生成モジュールは更に、前記認証データの身元を前記ユーザに通知することなく、生成された前記認証データを前記セキュアなストレージに格納する、項目１に記載のコンピューティングデバイス。
［項目２５］
複数のベンダコンピューティングデバイスと、
前記複数のベンダコンピューティングデバイスのそれぞれとネットワークを介して通信するモバイルコンピューティングデバイスと
を備えるシステムであって、
前記モバイルコンピューティングデバイスは、
前記モバイルコンピューティングデバイスのユーザを前記複数のベンダコンピューティングデバイスのそれぞれに対して認証するために、前記複数のベンダコンピューティングデバイスのそれぞれから複数の認証制約を受信するベンダ認証モジュールと、
前記複数のベンダコンピューティングデバイスのそれぞれのための一意の認証データを、前記ユーザをそれぞれ対応するベンダコンピューティングデバイスに対して認証するために、対応する前記複数の認証制約の関数として生成する認証データ生成モジュールと
を有する、システム。
［項目２６］
前記複数のベンダコンピューティングデバイスのそれぞれは、金融データサーバ、電子商取引サーバ、及びクラウドベースのサービスサーバのうち１つを含む、項目２５に記載のシステム。
［項目２７］
前記複数の認証制約は、前記ユーザを各ベンダコンピューティングデバイスに対して認証するためのユーザパスワードを生成するための複数のパスワード制約を含む、項目２５に記載のシステム。
［項目２８］
前記複数のパスワード制約は、前記パスワードのための文字の最小長さ、及びアルファベットではない文字要件のうち少なくとも１つを含む、項目２７に記載のシステム。
［項目２９］
前記複数の認証制約は更に、前記ユーザを各ベンダコンピューティングデバイスに対して認証するためのユーザネームを生成するための複数のユーザネーム制約を含む、項目２５に記載のシステム。
［項目３０］
前記複数のユーザネーム制約は、前記ユーザネームのための文字の最小長さ、及びアルファベットではない文字要件のうち少なくとも１つを含む、項目２９に記載のシステム。
［項目３１］
前記ベンダ認証モジュールは、予め構築されたプロトコルに従って前記ベンダコンピューティングデバイスから複数の認証制約を受信する、項目２５に記載のシステム。
［項目３２］
前記ベンダ認証モジュールは、前記複数の認証制約を受信するべく、前記ベンダコンピューティングデバイスとの間でセキュアな通信チャネルを構築する、項目３１に記載のシステム。
［項目３３］
前記認証データ生成モジュールは、各対応するベンダコンピューティングデバイスの前記複数の認証制約を満たす各ベンダコンピューティングデバイスのためのパスワードを生成する、項目２５に記載のシステム。
［項目３４］
前記認証データ生成モジュールは、各ベンダコンピューティングデバイスの前記複数の認証制約を満たす各ベンダコンピューティングデバイスのためのユーザネームを生成する、項目３３に記載のシステム。
［項目３５］
前記認証データ生成モジュールは更に、各ベンダコンピューティングデバイスのための新たな認証データを、対応する前記複数の認証制約の関数として定期的に生成する、項目２５に記載のシステム。
［項目３６］
前記ベンダ認証モジュールは更に、前記複数のベンダコンピューティングデバイスの１つから、前記認証データを更新せよとの要求を受信し、
前記認証データ生成モジュールは、前記ユーザからの入力なく、新たな認証データを対応する前記複数の認証制約の関数として生成する、項目２５に記載のシステム。
［項目３７］
前記認証データ生成モジュールは、前記ユーザからの入力なく、前記認証データを前記複数の認証制約の関数として生成する、項目２５に記載のシステム。
［項目３８］
前記認証データは、前記コンピューティングデバイスのハードウェアコンポーネントのハードウェア識別番号から形成されたデジタル身元データを含む、項目２５に記載のシステム。
［項目３９］
前記デジタル身元データは、前記ハードウェア識別番号のハッシュ値である、項目３８に記載のシステム。
［項目４０］
前記モバイルコンピューティングデバイスは、前記ユーザを前記モバイルコンピューティングデバイスに対して認証するための、デバイス認証モジュールを更に有する、項目２５に記載のシステム。
［項目４１］
前記デバイス認証モジュールは、
ユーザ識別子、ユーザネーム、パスワード、バイオメトリックデータ、及びキートークンのうち少なくとも１つを入力するよう前記ユーザを促し、
前記ユーザ識別子、前記ユーザネーム、前記パスワード、前記バイオメトリックデータ、及び前記キートークンのうち前記少なくとも１つの関数として前記ユーザを認証する、項目４０に記載のシステム。
［項目４２］
前記モバイルコンピューティングデバイスは更にセキュアなストレージを有し、
前記認証データ生成モジュールは更に、前記認証データの身元を前記ユーザに通知することなく、生成された前記認証データを前記セキュアなストレージに格納する、項目２５に記載のシステム。
［項目４３］
第１のコンピューティングデバイスで、ユーザを第２のコンピューティングデバイスに対して認証するために、複数の認証制約を受信する段階と、
前記第１のコンピューティングデバイスで、前記ユーザを前記第２のコンピューティングデバイスに対して認証するために、認証データを前記複数の認証制約の関数として生成する段階と、
前記ユーザを前記第２のコンピューティングデバイスに対して認証するために、前記認証データを前記第２のコンピューティングデバイスに対して送信する段階と
を備える方法。
［項目４４］
前記複数の認証制約を受信する段階は、
前記ユーザを前記第２のコンピューティングデバイスに対して認証するためのユーザパスワードを生成するための複数のパスワード制約を受信する段階を有する、項目４３に記載の方法。
［項目４５］
前記複数のパスワード制約は、前記パスワードのための文字の最小長さ、及びアルファベットではない文字要件のうち少なくとも１つを含む、項目４４に記載の方法。
［項目４６］
前記複数の認証制約を受信する段階は、
前記ユーザを前記第２のコンピューティングデバイスに対して認証するためのユーザネームを生成するための複数のユーザネーム制約を受信する段階を有する、項目４４に記載の方法。
［項目４７］
前記複数のユーザネーム制約は、前記ユーザネームのための文字の最小長さ、及びアルファベットではない文字要件のうち少なくとも１つを含む、項目４６に記載の方法。
［項目４８］
前記複数の認証制約を受信する段階は、
予め構築されたプロトコルに従って前記第２のコンピューティングデバイスから前記複数の認証制約を受信する段階を有する、項目４３に記載の方法。
［項目４９］
前記複数の認証制約を受信するべく、前記第２のコンピューティングデバイスとの間でセキュアな通信チャネルを構築する段階を更に備える、項目４８に記載の方法。
［項目５０］
前記認証データを生成する段階は、
前記複数の認証制約を満たすパスワードを生成する段階を有する、項目４３に記載の方法。
［項目５１］
前記認証データを生成する段階は、
前記複数の認証制約を満たすユーザネームを生成する段階を有する、項目５０に記載の方法。
［項目５２］
前記認証データを生成する段階は、
モバイルコンピューティングデバイス上で前記認証データを生成する段階を有する、項目４３に記載の方法。
［項目５３］
前記複数の認証制約を受信する段階は、
前記ユーザを金融データサーバ、電子商取引サーバ、及びクラウドベースのサービスサーバのうち少なくとも１つに対して認証するために、前記金融データサーバ、前記電子商取引サーバ、及び前記クラウドベースのサービスサーバのうち前記少なくとも１つから前記複数の認証制約を受信する段階を有する、項目４３に記載の方法。
［項目５４］
前記第２のコンピューティングデバイスからログオンプロンプトを受信する段階と、
前記第１のコンピューティングデバイスのセキュアなデータストレージから前記認証データを取得する段階と、
前記ユーザを前記第２のコンピューティングデバイスに対して認証するために、前記認証データを前記第２のコンピューティングデバイスに送信する段階と
を更に備える、項目４３に記載の方法。
［項目５５］
前記第２のコンピューティングデバイスから、前記認証データを更新せよとの要求を受信する段階と、
前記第１のコンピューティングデバイス上で、前記ユーザからの入力なく、新たな認証データを前記複数の認証制約の関数として生成する段階と
を更に備える、項目４３に記載の方法。
［項目５６］
前記第１のコンピューティングデバイスで、ユーザを前記第２のコンピューティングデバイスに対して認証するための複数の新たな認証制約を受信する段階を更に備え、
前記新たな認証データを生成する段階は、
前記新たな認証データを前記複数の新たな認証制約の関数として生成する段階を有する、項目５５に記載の方法。
［項目５７］
前記ユーザを前記第１のコンピューティングデバイスに対して認証する段階を更に備える、項目４３に記載の方法。
［項目５８］
前記ユーザを前記第１のコンピューティングデバイスに対して認証する段階は、
前記認証データを前記第２のコンピューティングデバイスに送信する前に、前記ユーザを前記第１のコンピューティングデバイスに対して認証する段階を有する、項目５７に記載の方法。
［項目５９］
前記ユーザを認証する段階は、
前記第１のコンピューティングデバイスで、ユーザ識別子、ユーザネーム、パスワード、バイオメトリックデータ、及びキートークンのうち少なくとも１つを入力するよう前記ユーザを促す段階と、
前記ユーザ識別子、前記ユーザネーム、前記パスワード、前記バイオメトリックデータ、及び前記キートークンのうち前記少なくとも１つの関数として、前記ユーザを前記第１のコンピューティングデバイスに対して認証する段階と
を有する、項目５８に記載の方法。
［項目６０］
複数の第３のコンピューティングデバイスから前記第１のコンピューティングデバイスで複数の認証制約を受信する段階と、
前記第１のコンピューティングデバイスで、前記ユーザからの入力なく、前記複数の第３のコンピューティングデバイスのそれぞれに対して前記ユーザを認証するために、前記複数の第３のコンピューティングデバイスのそれぞれのための一意の認証データを、対応する前記複数の認証制約の関数として生成する段階と
を更に備える、項目４３に記載の方法。
［項目６１］
前記認証データを前記第２のコンピューティングデバイスに送信する段階は、
前記ユーザからの入力なく、前記認証データを利用して、前記ユーザを前記第２のコンピューティングデバイスに自動的にログインさせる段階を有する、項目４３に記載の方法。
［項目６２］
前記複数の認証制約を受信する段階は、
前記ユーザが前記第２のコンピューティングデバイス上にユーザアカウントを有さないことに呼応して、前記複数の認証制約を受信する段階を有する、項目４３に記載の方法。
［項目６３］
前記認証データを送信する段階は、
前記認証データを近距離通信リンクを介して送信する段階を有する、項目４３に記載の方法。
［項目６４］
前記認証データの身元を前記ユーザに通知することなく、生成された前記認証データを、前記第１のコンピューティングデバイスのセキュアなストレージに格納する段階を更に備える、項目４３に記載の方法。
［項目６５］
前記認証データを生成する段階は、
前記ユーザの入力なく、前記認証データを前記複数の認証制約の関数として生成する段階を有する、項目４３に記載の方法。
［項目６６］
前記認証データを生成する段階は、
前記コンピューティングデバイスのハードウェアコンポーネントのハードウェア識別番号から形成されたデジタル身元データを生成する段階を有する、項目４３に記載の方法。
［項目６７］
プロセッサと、
前記プロセッサにより実行されると、モバイルコンピューティングデバイスに項目４３から６６のいずれか一項に記載の方法を実行させる複数の命令が格納されたメモリと
を備える、モバイルコンピューティングデバイス。
［項目６８］
実行されることに呼応してモバイルコンピューティングデバイスに項目４３から６６のいずれか一項に記載の方法を実行させる複数の命令が格納された１又は複数の機械可読媒体
【図１】
0005928854.tif 000002
【図２】
0005928854.tif 000003
【図３】
0005928854.tif 000004
【図４】
0005928854.tif 000005
【図５】
0005928854.tif 000006