(57)【特許請求の範囲】
【請求項１】
識別認識システムであって、
１つ又は複数の識別に関連付けられた情報を格納し、識別に関して格納された前記情報が、（ａ）その識別に関連付けられたデータ値、及び（ｂ）その識別に関連付けられた前記格納されたデータ値のうちの１つ又は複数に対する予想される変化に関する情報を含む、非一時的なメモリと、
前記メモリと通信し、前記識別認識システムに処理を実行させるために命令を実行するように構成された、１つ又は複数のハードウェアプロセッサと、を備え、
前記処理は、
コンピュータに対するチャレンジを生成することであって、前記チャレンジは、第１の識別に関連付けられた１つ又は複数の格納されたデータ値に対応する前記コンピュータからの１つ又は複数のデータ値に基づいて、応答を提供することを前記コンピュータに促し、前記応答を形成するために用いられる前記１つ又は複数のデータ値は、前記コンピュータに関連付けられた非静的なマニューシャのデータ値を表す第１のデータ値を含み、前記第１のデータ値は、呼出アプリケーションデータ、ソフトウェア要素データ、ネットワーク接続データ及び前記コンピュータのジオロケーションデータの少なくとも一つを含み、前記コンピュータのセキュリティ目的以外のために機能する、生成することと、
前記コンピュータから前記チャレンジに対する前記応答を受信することと、
前記第１の識別のための前記応答が許容されるかどうか判定することであり、そのような判定は、前記第１の識別に関連付けられた前記予想される変化に関する前記格納された情報を、前記第１の識別に関連付けられた前記格納されたデータ値からの第２のデータ値に適用して、前記応答を形成するために用いられた前記第１のデータ値が、前記第２のデータ値に対して認められる変化に基づいているかどうかを判定することを含む、判定することと、
前記コンピュータが、前記チャレンジに対して許容される応答を提供したことの判定に応じて前記コンピュータを前記第１の識別に関連付けることと、を含む、
識別認識システム。
【請求項２】
前記第１の識別が、ユーザの識別又はデバイスの識別である、請求項１に記載の識別認識システム。
【請求項３】
前記応答の形成に用いられた前記１つ又は複数のデータ値が、前記コンピュータに関連付けられた１つ又は複数のマニューシャのデータ値を含む、請求項１に記載の識別認識システム。
【請求項４】
前記応答が許容されるかどうかを判定する前記処理が、前記応答の少なくとも一部は、前記コンピュータに関連付けられたマニューシャのデータ値に対して１つ又は複数の認められる変化に基づいているかどうかを評価することを含む、請求項３に記載の識別認識システム。
【請求項５】
前記応答が許容されるかどうかを判定するために用いられる前記マニューシャのデータ値が、ユーザの秘密、ユーザのカスタマイズデータ、エンターテインメントデータ及び連絡先データの少なくとも一つを含む、請求項４に記載の識別認識システム。
【請求項６】
前記応答が許容されるかどうかを判定するために用いられる前記マニューシャのデータ値が、頻繁にかけられる電話番号及び頻繁に用いられる電子メールアドレスの少なくとも一つを含む、請求項４に記載の識別認識システム。
【請求項７】
前記判定の処理が、前記応答を形成するために用いられた前記第１のデータ値は前記第２のデータ値と同じであるかどうかを評価することを含む、請求項１に記載の識別認識システム。
【請求項８】
前記第１のデータ値が、前記第２のデータ値に対する、前記コンピュータからの前記応答の受信とは無関係に決定される１組の認められる値の範囲内にあるとき、前記応答を形成するために用いられた前記第１のデータ値が、前記第２のデータ値に対して許容された変化に基づくことが判定される、請求項１に記載の識別認識システム。
【請求項９】
前記１組の認められる値が、前記予想される変化に関する前記格納された情報の前記第２のデータ値に対する適用に基づいて決定された１つ又は複数の値を含む、
請求項８に記載の識別認識システム。
【請求項１０】
前記予想される変化に関する前記格納された情報が、ソフトウェア要素に対する産業界の更新を含み、前記１組の認められる値が、前記産業界の更新の前記第２のデータ値に対する適用に基づいて決定された１つ又は複数の値を含む、請求項８に記載の識別認識システム。
【請求項１１】
前記１組の認められる値が、前記コンピュータの予想されるユーザのカスタマイズに基づいて決定された１つ又は複数の値を含む、請求項８に記載の識別認識システム。
【請求項１２】
前記１組の認められる値が、前記第１の識別に関連付けられたユーザによる前記コンピュータの予想される使用法に基づいて決定された１つ又は複数の値を含む、請求項８に記載の識別認識システム。
【請求項１３】
前記処理が、前記応答を形成するために用いられた前記第１のデータ値が、前記第１の識別に関連付けられた前記第２のデータ値に対して認められる変化に基づいていると判定されたことに応じて、前記第１のデータ値を前記第１の識別のために格納された情報に盛り込むこと、をさらに含む、請求項１に記載の識別認識システム。
【請求項１４】
前記応答が許容されるかどうかを判定する前記処理が、前記受信された応答を１組の許容される応答のメンバと比較することをさらに含む、請求項１に記載の識別認識システム。
【請求項１５】
前記１組の許容される応答が、前記判定の動作が実行される前に計算される、請求項１４に記載の識別認識システム。
【請求項１６】
前記１組の許容される応答が、前記判定の動作が実行されるのと同時に計算される、請求項１４に記載の識別認識システム。
【請求項１７】
前記判定の動作が、前記第２のデータ値及び前記第２のデータ値に対する前記予想される変化に関する前記格納された情報に基づいて、前記応答の許容性のランク付けを生成することをさらに含む、請求項１に記載の識別認識システム。
【請求項１８】
前記応答の前記許容性の前記ランク付けが、前記第１のデータ値の、前記第１の識別に関連付けられた前記第２のデータ値に対する前記予想される変化の適用に基づく１つ又は複数の値に対する比較に基づいて生成される、請求項１７に記載の識別認識システム。
【請求項１９】
前記応答の前記許容性の前記ランク付けが、前記１つ又は複数の値のいずれが前記第１のデータ値に一致するかに基づいて変化する、請求項１８に記載の識別認識システム。
【請求項２０】
前記コンピュータを前記第１の識別に前記関連付けることが、デバイスを認証すること、ユーザを認証すること、ソフトウェアプログラム又はアプリケーションを確認すること、デバイスに若しくはデバイスから送信されたデータのデータを保護すること、及びメッセージダイジェストのデジタル署名を生成することのうちの１つ又は複数の基礎を提供する、請求項１に記載の識別認識システム。
【請求項２１】
前記応答が、個人を識別できる情報を表すデータ値を含まない、請求項１に記載の識別認識システム。
【請求項２２】
前記処理が、前記許容される応答からの情報を使用して、前記第１の識別に関連付けられた前記格納されたデータ値に対する前記予想される変化に関する前記格納された情報を更新することをさらに含む、請求項１に記載のシステム。
【請求項２３】
前記処理が、前記許容される応答からの情報を使用して、前記識別に関連付けられた前記格納されたデータ値の少なくとも一つを更新することをさらに含む、請求項１に記載のシステム。
【請求項２４】
識別認識システムであって、
１つ又は複数の識別に関連付けられた情報を格納し、識別に関して格納された前記情報が、（ａ）その識別に関連付けられたデータ値、及び（ｂ）その識別に関連付けられた前記格納されたデータ値のうちの１つ又は複数に対する予想される変化に関する情報を含む、非一時的なメモリと、
前記メモリと通信し、前記識別認識システムに処理を実行させるために命令を実行するように構成された、１つ又は複数のハードウェアプロセッサと、を備え、
前記処理は、
コンピュータから、第１の識別に対する識別要求を含む１つ又は複数の通信を受信することであって、前記識別要求のうちの少なくとも一部が、前記コンピュータからの１つ又は複数のデータ値に基づいて形成され、前記１つまたは複数のデータ値は、前記コンピュータの非静的なマニューシャのデータ値を表す少なくとも第１のデータ値を含み、前記第１のデータ値は、呼出アプリケーションデータ、ソフトウェア要素データ、ネットワーク接続データ及び前記コンピュータのジオロケーションデータの少なくとも一つを含み、前記コンピュータのセキュリティ目的以外のために機能する、受信することと、
前記コンピュータから受信された前記１つ又は複数の通信が、前記識別要求が許容されるということを認識するのに充分であるかどうか判定することであって、そのような判定は、前記第１の識別に関連付けられた前記予想される変化に関する前記格納された情報を、前記第１の識別に関連付けられた前記格納されたデータ値からの第２のデータ値に適用して、前記識別要求を形成するために使用されるデータ値が、前記第１の識別に関連付けられた前記第２のデータ値に対して認められる変化に基づいているかどうか判定することを含む、判定することと、
前記コンピュータが、許容される識別要求を提供したことの判定に応じて前記コンピュータを前記第１の識別に関連付けることと、
を含む、識別認識システム。
【請求項２５】
識別認識システムであって、
１つ又は複数の識別に関連付けられた情報を格納し、識別に関して格納された前記情報が、（ａ）その識別に関連付けられたデータ値、及び（ｂ）その識別に関連付けられた前記格納されたデータ値のうちの１つ又は複数に対する予想される変化に関する情報を含む、非一時的なメモリと、
前記メモリと通信し、前記識別認識システムに処理を実行させるために命令を実行するように構成された、１つ又は複数のハードウェアプロセッサと、を備え、
前記処理は、
第１のコンピュータから、第２のコンピュータで発生されたチャレンジに基づいて開始された第１の識別に対する識別要求を含む通信を受信することであって、前記識別要求が前記第１のコンピュータからの１つ又は複数のデータ値に基づいて形成されており、前記１つ又は複数のデータ値が、前記第１のコンピュータの非静的なマニューシャのデータ値を表す少なくとも第１のデータ値を含み、前記第１のデータ値が、呼出アプリケーションデータ、ソフトウェア要素データ、ネットワーク接続データ及び前記コンピュータのジオロケーションデータの少なくとも一つを含み、前記コンピュータのセキュリティ目的以外のために機能する、受信することと、
前記第１のコンピュータから受信された前記通信は、前記識別要求が許容されるということを認識するのに充分であるかどうか判定することであって、そのような判定は、前記第１の識別に関連付けられた前記予想される変化に関する前記格納された情報を、前記第１の識別に関連付けられた前記格納されたデータ値からの第２のデータ値に適用して、前記通信が基づく前記第１のデータ値が、前記第１の識別に関連付けられた前記第２のデータ値に対して認められる変化を反映しているかどうか判定することを含む、判定することと、
前記第１のコンピュータが、許容される識別要求を提供したことの判定に応じて前記第１のコンピュータを前記第１の識別に関連付けることと、
を含む、識別認識システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、例えば、クライアント電子デバイスとサービスプロバイダとの間の認証、データ通信の暗号化、及びデジタル署名のために使用される動的な鍵暗号に関し、より詳細には、動的に変化する鍵素材（ｋｅｙ  ｍａｔｅｒｉａｌ）から導出された動的な鍵を使用する暗号に関する。
【背景技術】
【０００２】
［関連出願の相互参照］
本出願は、参照により援用される、２０１２年２月３日に出願された米国特許出願第１３／３６６，１９７号の利益を主張するものである。
【０００３】
［関連技術］
（インターネットなどの）ネットワークに接続し、さまざまなサービスと通信するためのコンピュータの使用は、例えば、ユーザの関係（例えば、社会的なつながり）、業務上の秘密、銀行取引の詳細、支払い方法（ｐａｙｍｅｎｔ  ｏｐｔｉｏｎ）、及び健康の記録を含むユーザに属する多くの種類の情報のプライバシーを危険にさらす。識別情報を認証し、データを保護し、アクション（ａｃｔｉｏｎ）のサマリ（すなわち、ダイジェスト）をデジタル署名するために、暗号を使用するのが一般的である。
【０００４】
暗号は、概して、（例えば、対称鍵、公開鍵、又は秘密鍵である可能性がある）暗号鍵を平文と組み合わせて暗号文を形成するためのアルゴリズム（例えば、高度暗号化規格（ＡＥＳ：Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｅｌｍａｎ（ＲＳＡ））を使用する。暗号鍵は、通常、いかなる特別な意味も持たない乱数である。暗号鍵を配布し、暗号鍵をクライアントコンピュータに記憶するプロセス（「鍵管理」と呼ばれる）は、安全に実行することが難しく、暗号システムのセキュリティを破るための攻撃点（ｐｏｉｎｔ−ｏｆ−ａｔｔａｃｋ）となることが多い。鍵は、データの単一のシーケンスを表し、したがって、暗号化システムの単一障害点を表す。鍵は、通常、クライアントコンピュータに存在しなければならないので、鍵を見つけ、次いで鍵を別のコンピュータにコピーすることは、なりすましのエンティティが有効なエンティティになりすますことを可能にし得る。
【０００５】
セキュアエレメント（例えば、スマートカード）は、暗号鍵を安全に記憶し、場合によっては、安全な環境で鍵を生成することができる。鍵へのアクセスは、通常、ユーザに個人識別番号（ＰＩＮ）を入力することを要求することによって制御され、これにより、セキュアエレメントが鍵の使用を許可する前にユーザが秘密（ｓｅｃｒｅｔ）を提供しなければならないことを保証していた。鍵へのこのようなアクセスは、２要素認証として広く知られており、概して、２つの要素は、「本人が知っていること（Ｓｏｍｅｔｈｉｎｇ  Ｙｏｕ  Ｋｎｏｗ）」及び「本人が持っているもの（Ｓｏｍｅｔｈｉｎｇ  Ｙｏｕ  Ｈａｖｅ）」と呼ばれる。第３の要素「本人の特徴（Ｓｏｍｅｔｈｉｎｇ  Ｙｏｕ  Ａｒｅ）」は、例えば、バイオメトリック情報を含む可能性がある。それらの要素自体は、使用する際に関連付けられるが、素材としてはまったく別のものである。物理的なセキュアエレメント（「本人が持っているもの」）の所有は、使用が秘密のＰＩＮ（本人が知っていること）によって保護され得る特定のセキュアエレメントにプロビジョニングされた乱数暗号鍵を使用する暗号機能の確認による可能性がある。鍵とユーザとの間に暗黙的な結びつきはない。
【０００６】
暗号での証明書の使用は、識別名（例えば、一意のユーザ）の暗号鍵との結びつきを可能にした。やはり、まだ、暗号鍵は乱数であり、鍵が確認されるとき、暗号システムは、証明書のユーザを鍵の使用から判断し、鍵要素（ｋｅｙ  ｍａｔｔｅｒ）自体は、ユーザと無関係である。
【０００７】
インターネットでは、ユーザの現実世界での身元を保証することが、データ及びプライバシーを保護するために極めて重要である。モバイルユーザがアンチウイルスアプリケーションを使用しないことが多く、多くのサービスプロバイダがセキュリティではなく単純であることに関して最適化されたアプリケーション（アプリ）を使用するので、モバイルユーザは、特に危険にさらされている。このことは、ユーザの身元とサービスの価値との両方にとって意味のある非公開データの多くを十分に保護されないままにする。オンラインサービスプロバイダ（ＯＳＰ）は多くのリスクを招くので、安全性はＯＳＰの責任になっている。
【０００８】
オンラインサービスに対してユーザを特定するための標準的な方法は、ユーザ名及びパスワードを入力することによる。ユーザ名は、知られているサービスのインデックスであり、したがって、便利であるようにコンピュータに記憶することができる。パスワードは、ＯＳＰによって検証可能なユーザの秘密であり、漏洩する可能性があるコンピュータに記憶されるべきでない。しかしながら、良好なパスワードは、大文字、小文字、句読点、及び特別な文字を混ぜたものとすべきである多くの文字を有するので、パスワードは、打ち込むのが難しく、時間がかかる場合が多い。これは、単純な英数字以外の文字のためのさまざまな「レベル」のキーパッドを有するタッチキーパッドを使用するモバイルコンピュータに特に当てはまる。したがって、多くのモバイルアプリは、コンピュータにパスワードを記憶する。モバイルオペレーティングシステムは実行するためにモバイルアプリが署名されることを要求するので、アプリ自体は、インストール後に変更され得ない。したがって、モバイルアプリによって記憶されるどのデータも、モバイルアプリと分かれており、しばしば攻撃にさらされやすいものとなり得る。さらに、アプリが変わり得ないので、キャッシュされたパスワードを保護するために暗号化が使用された場合、アプリケーションのすべてのインスタンスのために１つの暗号化鍵のみが存在する可能性があった。この共通性は、パスワードが暗号解除のためにすべて同じ鍵を使用するので、パスワードが暗号化されても、モバイルコンピュータに記憶されたパスワードを採取し、クラックすることを比較的容易にしていた。
【０００９】
コンピュータ及びコンピュータ特定が、コンピュータフィンガープリントと呼ばれることが多い、コンピュータを一意に特定するためのコンピュータ上で見出されるマニューシャのハッシュを計算することによって試みられた。概して、コンピュータフィンガープリントは、とりわけ、特定のコンピュータフィンガープリントに対してソフトウェアを「ロック」し、履歴と特定のアクションの潜在的な危険性とをプロファイリングするためにオンラインアクションで使用されたコンピュータを特定するために使用される。典型的なコンピュータ識別子は、計算され、変化しないままであり、信頼性を保証するために、コンピュータフィンガープリントは、概して、通常変化しないコンピュータマニューシャ（例えば、シリアル番号）を使用する。したがって、現在のコンピュータフィンガープリントは、概して、偽装に遭いやすい可能性がある比較的少ない１組の静的なマニューシャを使用する。コンピュータ特定を改善する一部の手法は、（時計とネットワークレイテンシの両方の）時間及びコンピュータに残された情報のビット（すなわち、「クッキー」）の分析によってコンピュータを特定する際に使用されるマニューシャの数を増やそうとしてきた。しかしながら、より多くのマニューシャが計算に含められるので、マニューシャに対して変更が必然的に行われた確率が、新しいコンピュータフィンガープリントをもたらす可能性がある。これは、コンピュータが実際には同じコンピュータであるときにコンピュータを「異なる」と誤って特定する（多くの場合、「偽陰性（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）」と呼ばれる）。一意のコンピュータのマニューシャに対するこれらの変更は、通常の使用中に必然的に行われ、コンピュータフィンガープリントプロセスを無効にする可能性があるか、又はコンピュータフィンガープリントを再初期化することを強いることによってユーザ若しくはサービスに不便をかける可能性がある。
【発明の概要】
【００１０】
本発明の１つ又は複数の実施形態によれば、動的な鍵暗号のための方法及びシステムが、乱数を暗号鍵としてコンピュータに記憶するのではなく、コンピュータハードウェア、ファームウェア、ソフトウェア、ユーザの秘密、及びユーザのバイオメトリクスを含む幅広いマニューシャを鍵素材として使用する。１つ又は複数の実施形態による動的な鍵暗号を使用するための方法及びシステムは、サービスに対するユーザの認証、保護するためのデータの暗号化、及びメッセージダイジェストのデジタル署名のために使用され得る。一実施形態において、動的な鍵暗号は、コンピュータのハードウェア、ファームウェア、及びソフトウェアに対する産業界（ｉｎｄｕｓｔｒｙ）の更新によって引き起こされるコンピュータに対する変更を予想する。
【００１１】
一実施形態においては、動的な鍵暗号の方法が、１組のマニューシャの種類からサブセットを選択するステップと、特定のデバイスに関して、デバイスにチャレンジを送信するステップであり、チャレンジが、デバイスが暗号鍵を形成するためにマニューシャの種類の選択されたサブセットに対応するマニューシャの実際の値を収集することができる情報を含み、暗号鍵が、デバイスから通信チャネルを介して送信されず、暗号鍵が、チャレンジに対する実際の応答を暗号化するために使用される、ステップと、マニューシャの種類の選択されたサブセットが選択されるマニューシャの更新を追跡することに基づいてチャレンジに対する１組の応答を予め処理するステップであり、１組の予め処理された応答が、マニューシャの収集された実際の値との特定のデバイスの組合せが有効である場合に特定のデバイスから受信される可能性があるすべての実際の応答の範囲を包含する、ステップと、特定のデバイスからの実際の応答を１組の予め処理された応答と比較するステップと、実際の応答が特定のデバイスに関する１組の予め処理された応答に含まれる場合に、収集された実際の値との特定のデバイスの組合せを有効化するステップとを含む。
【００１２】
別の実施形態においては、方法が、複数のマニューシャの種類からマニューシャの少なくとも１つの種類を選択するステップと、マニューシャの種類の選択を運ぶチャレンジを形成するステップと、有効なデバイスから受信する可能性がある複数の予め処理された応答を計算するステップであり、それぞれの予め処理された応答が鍵を用いて計算され、それぞれの鍵がマニューシャの種類の選択に関してあり得る値を用いて計算される、ステップと、デバイスにチャレンジを送信するステップと、デバイスからチャレンジに対する実際の応答を受信するステップであり、実際の応答が実際の鍵を用いて計算され、実際の鍵が、チャレンジからのマニューシャの種類の選択の推定、及びマニューシャの種類の選択の実際の値を用いて計算される、ステップと、実際の応答を予め処理された応答と、一致に関して比較するステップと、一致が見出されたか否かに基づいて、マニューシャの種類の選択の実際の値とのデバイスの組合せを有効化するステップとを含む。
【００１３】
さらに別の実施形態においては、システムが、デバイスと通信するように構成されたサーバを含み、サーバが、複数のマニューシャの種類からマニューシャの少なくとも１つの種類を選択し、サーバが、マニューシャの種類の選択を運ぶチャレンジを形成し、サーバが、有効なデバイスから受信する可能性がある複数の予め処理された応答を計算し、それぞれの予め処理された応答が鍵を用いて計算され、それぞれの鍵がマニューシャの種類の選択に関してあり得る値を用いて計算され、サーバが、デバイスにチャレンジを送信し、サーバが、デバイスからチャレンジに対する実際の応答を受信し、実際の応答が実際の鍵を用いて計算され、実際の鍵が、チャレンジからのマニューシャの種類の選択の推定、及びマニューシャの種類の選択の実際の値を用いて計算され、サーバが、実際の応答を予め処理された応答と、一致に関して比較し、一致が見出されたか否かに基づいて、サーバが、マニューシャの種類の選択の実際の値とのデバイスの組合せを有効化する。
【００１４】
さらに別の実施形態においては、コンピュータプログラム製品が、方法を実行するようにプロセッサに命じるためのコンピュータ可読及び実行可能コードを有する非一時的コンピュータ可読媒体を含み、方法が、複数のマニューシャの種類からマニューシャの少なくとも１つの種類を選択するステップと、マニューシャの種類の選択を運ぶチャレンジを形成するステップと、有効なデバイスから受信する可能性がある複数の予め処理された応答を計算するステップであり、それぞれの予め処理された応答が鍵を用いて計算され、それぞれの鍵がマニューシャの種類の選択に関してあり得る値を用いて計算される、ステップと、デバイスにチャレンジを送信するステップと、デバイスからチャレンジに対する実際の応答を受信するステップであり、実際の応答が実際の鍵を用いて計算され、実際の鍵が、チャレンジからのマニューシャの種類の選択の推定、及びマニューシャの種類の選択の実際の値を用いて計算される、ステップと、実際の応答を予め処理された応答と、一致に関して比較するステップと、一致が見出されたか否かに基づいて、マニューシャの種類の選択の実際の値とのデバイスの組合せを有効化するステップとを含む。
【図面の簡単な説明】
【００１５】
【図１】１つ又は複数の実施形態による動的鍵暗号プロバイダによって容易にされるクライアントと、クライアントデバイスと、サービスプロバイダとの間の通信及びセキュリティを示すシステム図である。
【図２Ａ】一実施形態による図１のシステムによって実行されるチャレンジ、応答、及び確認プロセスを示すシステム図である。
【図２Ｂ】一実施形態による図１のシステムによって実行されるチャレンジ、応答、及び確認プロセスを示すシステム図である。
【図３】一実施形態によるサービスプロバイダアプリケーション（アプリ）配信システムを示すシステム図である。
【図４】一実施形態によるコンピュータシステム並びにユーザマニューシャ及びサービスの登録のためのシステムを示すシステムプロセスフロー図である。
【図５】一実施形態による予想されるマニューシャデータベースを生成し、更新するために産業界のマニューシャ及びユーザのヒューリスティックス（ｈｅｕｒｉｓｔｉｃｓ）をカタログ化及びモデル化するためのシステムを示すシステム図である。
【図６Ａ】一実施形態による確認の採点（ｖａｌｉｄａｔｉｏｎ  ｓｃｏｒｉｎｇ）、確実性のランク付け（ｃｏｎｆｉｄｅｎｃｅ  ｒａｔｉｎｇ）、及びステップアップ認証処理（ｓｔｅｐ−ｕｐ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓｉｎｇ）を示すシステムプロセスフロー図である。
【図６Ｂ】一実施形態による確認の採点（ｖａｌｉｄａｔｉｏｎ  ｓｃｏｒｉｎｇ）、確実性のランク付け（ｃｏｎｆｉｄｅｎｃｅ  ｒａｔｉｎｇ）、及びステップアップ認証処理（ｓｔｅｐ−ｕｐ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓｉｎｇ）を示すシステムプロセスフロー図である。
【図７】一実施形態による３つの識別要素を組み込むことができる認証及びデジタル署名システムに関するシステムプロセスフロー図である。
【図８】一実施形態によるローカルの更新データセキュリティ機能に関するアプリケーションの処理のためのシステムを示すシステムプロセスフロー図である。
【図９】一実施形態によるサービスプロバイダに対するコンピュータ識別プロバイダ（ｃｏｍｐｕｔｅｒ  ｉｄｅｎｔｉｔｙ  ｐｒｏｖｉｄｅｒ）ライフサイクル機能及びサービスを示すシステム図である。
【発明を実施するための形態】
【００１６】
本発明の実施形態によれば、動的に変化する鍵素材から構成されるか又は導出された動的に変化する鍵を使用する動的な鍵暗号の方法及びシステムが、（１）コンピュータ上で見出される非常に幅広いハードウェア、ファームウェア、及びソフトウェアマニューシャを使用する電子デバイス自体、例えば、モバイル電話又はパーソナルコンピューティングデバイスと、（２）コンピュータのユーザが知っている秘密と、（３）コンピュータがユーザから収集する可能性があるバイオメトリック情報とに基づいてユーザのコンピュータ又はその他の電子デバイスを一意に特定することによって認証、データの保護、及びデジタル署名などの暗号サービスを提供する。１つ又は複数の実施形態による動的な鍵暗号は、電子的なコンピュータのユーザに関する安全なアクションを可能にし、より詳細には、クライアントの電子的なコンピュータとサービスプロバイダとの間の認証、電子的に記憶されるか又は通信チャネルで送信されるデータの暗号化、及び電子コンピュータでユーザによって実行されるアクションの電子的なダイジェストのためのデジタル署名を提供する。
【００１７】
一実施形態による動的な鍵暗号システムは、コンピュータの更新及び自然な使用によって引き起こされるマニューシャに対する変更を予想し、有効なユーザをネットワークサービスから遮断する偽陰性を実質的になくす。動的な鍵暗号は、ユーザとネットワークサービスとの両方を保護し、データの完全性及びプライバシーを保護し、電子的なコンピュータでユーザによって実行されるアクションのダイジェストにデジタル署名する、ネットワークサービスに対してユーザを認証するための安全で信頼できる方法をネットワークサービスのユーザに提供することができる。
【００１８】
１つ又は複数の実施形態は、１）簡単なユーザエクスペリエンス−覚える又は打ち込むのが難しいパスワードが不要であり、ユーザデバイス又はコンピュータは、目に見えないようにして認証され、ユーザは、サービスによって必要とされる場合にのみ秘密のＰＩＮ又はバイオメトリック（例えば、声紋）などの第２の識別要素をコンピュータに入力するように求められる可能性があり、保護されたサービスは、新しいデバイス又はコンピュータがユーザによって登録されるときに新しいデバイス又はユーザに自動的に再接続される可能性がある、２）従来にないセキュリティ−特に、幅広いハードウェア、ファームウェア、ソフトウェア、秘密、及びバイオメトリックマニューシャを使用して、一部のコンピュータ識別子の値が静的でなく、変化すると予想されるので偽装がより難しい非常に正確なデバイス又はコンピュータ及びユーザの特定を実現する、３）信頼性−ユーザデバイス又はコンピュータに対する変更を予想することが、ユーザを怒らせ、顧客サポートサービスを滞らせる偽陰性がより少ない寛容だが安全な認証を実現する、４）サービスとデータとの分離−モバイルアプリケーション（アプリ）の統合された一部として実現されるので、「基礎構造（ｆｏｕｎｄａｔｉｏｎ）」（例えば、動的な鍵暗号サービス）が、アプリを保護し、ユーザデバイス又はコンピュータに記憶されるサービスデータを暗号化し、アクションをデジタル署名するのに役立ち、サービスがその他のサービスに影響を与えることなく反応することを可能にし、例えば、万一、データが消去される必要がある場合に、当該アプリのデータのみが影響を受け、ユーザの写真又はメッセージなどのユーザのその他の情報は影響を受けないなどの特徴を提供し得る。
【００１９】
１つ又は複数の実施形態は、ユーザとサービスとを接続するためのより便利な方法を与えることができる。例えば、加入者が煩雑なパスワードを打ち込む（又はさらに悪いことに、コンピュータに暗号化されていないパスワードを記憶する）代わりに、動的な鍵暗号（動的な鍵クリプト（ｃｒｙｐｔｏ））サービス及び関連するクライアントソフトウェアが、ユーザデバイス又はコンピュータの一意の特性を計算し、管理することができる。結果として得られる特定されたコンピュータが、顧客の接続体験を簡単にするためにパスワードの代わりに使用され得る。コンピュータ自体が一意に特定されるので、そのことは、顧客（例えば、ユーザ又は加入者）を特定するより安全な方法を表す。コンピュータ上で見出されるマニューシャを使用する暗号鍵を形成することによって、コンピュータにだけ記憶されるか又は記憶されるように意図される静的な鍵ではなく、（コンピュータのマニューシャによって定義される）コンピュータ自体が確認される。単一の値（秘密の鍵）を発見及びコピーすることは、非常に広範囲のコンピュータマニューシャ値を発見及びコピーすることよりも著しく容易である。加えて、コンピュータのメモリに単一の鍵を書き込むことは、単一の静的な記憶された値によって特定されるコンピュータの一意性を実質的に装う。動的な鍵暗号で特定されるコンピュータを装うためには、コンピュータのマニューシャ値を知るためにさまざまなメソッドを傍受する必要がある。特定のコンピュータマニューシャの値を知るためのいくつかの直接的なメソッド及び関連するメソッドが存在する可能性があり、コンピュータを実質的に装うためには、すべてのコンピュータマニューシャ値にアクセスするためのすべてのメソッドが傍受される必要があり、不正な応答が返される可能性がある。さらに、動的な鍵暗号システムは特定のコンピュータマニューシャ値が変化することを予測するので、なりすましに成功したコンピュータも、不正なコンピュータマニューシャ値が予想されるように変化することを保証する必要がある。万一、ユーザのオンラインの活動がさらに高いレベルの信頼性を必要とするならば、プラットフォーム（例えば、動的な鍵暗号サービス及び関連するクライアントソフトウェア）は、有効なユーザがコンピュータを使用している人であることを保証するためにコンピュータにユーザの標準ＰＩＮを入力するようにユーザに強制することができる。
【００２０】
静的な値を使用してセキュリティ及び確実性の主張（ａｓｓｕｒａｎｃｅ  ｃｌａｉｍ）を処理するためのいくつかのテクノロジーが存在する。これらは、ワンタイムパスワード及びチャレンジ−応答セキュリティ機構のような機能のためのパスワード自体及び静的な「シード鍵（ｓｅｅｄ  ｋｅｙ）」を含む。公開鍵暗号でさえも、静的な鍵のペア（公開及び秘密）に基づく。動的な鍵暗号システムの１つ又は複数の実施形態は、コンピュータ及びユーザマニューシャ（例えば、ユーザ又はコンピューティングデバイスが持っているもの、ユーザが知っていること、及びユーザの特徴の大まかなカテゴリからの情報を含む、コンピュータ及びコンピュータのユーザに決定的に関連する可能性がある任意の情報）の非常に大きな数値表現（例えば、数１０万ビット）を使用して、検証可能な方法でさまざまなセキュリティ機能をサポートする暗号鍵（セキュリティの礎）を形成する可能性がある。１つ又は複数の実施形態においては、マニューシャの予測可能な動的な性質に基づく方法が、マニューシャの検証を（まるでそれらのマニューシャが単一の静的な値であるかのように）可能にすることができるが、必ずしもマニューシャのすべてが静的であることが必要とされる訳ではなく、マニューシャのほとんどの値は、経時的に変化し、発展する可能性があり（そのように予測され）、マニューシャ値自体の変化は、結果として得られる動的な暗号鍵の認識されるランダム性を大きくする。変化するマニューシャに基づく動的な鍵暗号の確認は、変化したマニューシャを分離し、評価する複雑な確実性の採点（ｃｏｎｆｉｄｅｎｃｅ  ｓｃｏｒｉｎｇ）を使用し、そのような変化の予測精度に対する確実性の重み付け（ｃｏｎｆｉｄｅｎｃｅ  ｗｅｉｇｈｔｉｎｇ）を使用する。変化するマニューシャは、動的な鍵暗号のための動的な鍵素材として使用されるとき、マニューシャ値が変化すると予測されるのでマニューシャ値又は結果として得られる鍵のワンタイムコピーが後で失敗する可能性が高いのでセキュリティを向上させることができる暗号システムに対する複雑性を加える。
【００２１】
階層的な静的マニューシャ（例えば、ハードウェアマニューシャ、ユーザの秘密、いくつかのユーザバイオメトリクス）、ゆっくり変化するマニューシャ（例えば、ファームウェアマニューシャ、いくつかのユーザバイオメトリクス）、予想通りに変化するマニューシャ（例えば、ソフトウェアマニューシャ）は、マニューシャのサブセットとして処理され得る鍵素材の非常に大きな組（又は鍵空間）を生成する可能性がある。マニューシャのこれらのサブセットは、特定の時間間隔、静的な鍵として機能し、正常で自然な変則性に耐障害性を持ちながら向上されたセキュリティを提供する。マニューシャのカテゴリの例は、さまざまなハードウェア、ファームウェア、ソフトウェア、ユーザの秘密、及びユーザバイオメトリック値を含む。例えば、ハードウェアマニューシャは、コンピューティングデバイス（例えば、スマートフォン若しくはパッド）の型及びモデル、コンピューティングデバイスの国際移動体装置識別（ＩＭＥＩ）番号、又はコンピューティングデバイスの回路チップ要素から読み取ることができる可能性がある回路製造業者のＩＤ番号を含み得る。同様に、ファームウェア及びソフトウェアマニューシャの例は、どのファームウェア及びソフトウェアコードがコンピューティングデバイスにインストールされているか、並びにどの特定のバージョン又はリリース日のファームウェア又はソフトウェアがコンピューティングデバイスにインストールされているかなどの特徴を含む可能性がある。その他のマニューシャは、コンピューティングデバイスのＧＰＳ（全地球測位システム）能力からのジオロケーションなどの情報を含む可能性がある。一部の実施形態において、マニューシャは、コンピューティングデバイスのユーザが知っている秘密（例えば、ＰＩＮ番号若しくはパスワード）、又はコンピューティングデバイスがユーザから収集する可能性があるバイオメトリック情報（例えば、指紋、声紋、若しくは網膜スキャン）も含む可能性がある。このようにして、動的な鍵暗号は、３つの識別要素（「持っているもの」、「知っていること」、及び「特徴」）からのマニューシャ値を利用して、認証、データの保護、及びデジタル署名などの動的な鍵暗号の目的が３つの識別要素から同時に恩恵を受けることができるように動的な鍵を形成し得る。
【００２２】
動的な鍵暗号の鍵要素は、（ほとんどすべての従来技術の暗号が使用する）単純な乱数の静的な暗号鍵よりもはるかに優れている。動的な鍵暗号の鍵は、マニューシャ値の非常に大きな集合の順列（ｐｅｒｍｕｔａｔｉｏｎ）であり、マニューシャ値の多くは経時的に変化し、結果は、独立して意味のあるマニューシャ値からなる見かけ上ランダムな数である。
【００２３】
変化する可能性がある１組のマニューシャに対する耐障害性を実現するために、マニューシャ、及び任意の単一のサブセットをバックアップするマニューシャの複数のサブセットに対する予想される変更が使用され得る。大量のマニューシャとマニューシャの予想可能な発展経路（ｅｖｏｌｕｔｉｏｎ  ｐａｔｈ）との両方を含む大量生産された電子デバイス（例えば、モバイルユニット及びコンピュータ）を使用することによって、発展するマニューシャに基づく方法の動的な暗号化システムは、ほとんどすべてのセキュリティ機能の恩恵に関して維持され得る。加えて、マニューシャの範囲が非常に広いので、特定の暗号機能が、マニューシャの異なるサブセットを用いて数度実行され得る。このように、万一、マニューシャの１つのサブセットが変わるとすると、その他のマニューシャのサブセット及びマニューシャに対する予想される変更を使用する暗号の検査が、耐障害性と、偽装されたマニューシャ値の検出とを改善することができる。
【００２４】
コンピュータの一意性に関する断定、コンピュータの一意性の確実性、及びサービス指向の指令（例えば、プロビジョニング、ロック−ホールド（ｌｏｃｋ−ｈｏｌｄ）、削除、移動、ブラックリスト（ｂｌａｃｋｌｉｓｔ））が、動的な鍵暗号サービスによって定式化され、制御され、指示される。例えば、（さまざまなユーザデバイスにインストールされた）コンピュータの動的な鍵暗号ライブラリが、動的な鍵暗号サービスの指令に応答して（例えば、さまざまなユーザデバイスから）コンピュータマニューシャ値を集め、コンピュータ（さまざまなユーザデバイスのうちの選択された１つ）に作用する。予測の絶えず変化するマニューシャ値に関するヒューリスティックスが、産業界のソースから少しずつ収集されたデータに加えて、（さまざまなユーザデバイスから）動的な鍵暗号ライブラリによって転送されたデータを使用して動的な鍵暗号サービスで実行される。産業界のデータは、あり得るコンピュータの範囲にわたる（オペレーティングシステム（ＯＳ）、ファームウェア、及びアプリケーションを含む−無線による更新、並びにネットワークの更新などの）カタログに載る公に利用可能なデータを含む。（より広い探索空間を介してセキュリティを提供する）単一のコンピュータに対して行われる可能性がある変更よりもほとんど際限なく大きいが、産業界のデータは、やはり有限であり、したがって、使用中のコンピュータに関する予測のヒューリスティックスに有用である。
【００２５】
さまざまな実施形態が、以下を含む安全で動的な鍵暗号サービスのためのシステム及び方法を提供する可能性がある。
【００２６】
１）オンラインサービスプロバイダ（ＯＳＰ）を動的な鍵暗号サービスに登録して、セキュリティ機能を実施するが、その他のサービスによる成功した攻撃に耐性があり、協力するオンラインサービスプロバイダがユーザをプロファイリングすることを防止する（各ＯＳＰのための）カスタムのコンピュータの動的な鍵暗号ライブラリを生成すること。
【００２７】
２）マニューシャ値を収集し、動的な鍵暗号システムに登録し、マニューシャをオンラインサービスプロバイダのアカウント識別子に結びつけること。
【００２８】
３）コンピュータハードウェア、ファームウェア、及びソフトウェアに対する更新に関する産業界の情報を集めて、登録されたコンピュータ上に現れる可能性があり得る産業界のマニューシャ値のカタログを、それらの産業界のマニューシャ値が更新されるときに生成すること。カタログ化された産業界のマニューシャ値は、インデックス付けされ、あり得るマニューシャと現在のマニューシャとは組み合わされ、将来のマニューシャの可能性を予想するためにインテリジェントに記憶された順列である。
【００２９】
４）ハードウェア、ファームウェア、ソフトウェア、ユーザの秘密、及びユーザバイオメトリクスを含むコンピュータによって見出されるか又は収集された非常に広範なマニューシャから取得されたマニューシャのサブセットからのハッシュに基づく特定。認証は、マニューシャをインデックス付けし、予想されるマニューシャからのあり得る応答と比較されるときに、コンピュータと動的な鍵暗号サービスとの間でマニューシャを実際に交換する必要なしにマニューシャの変化を確かめることができるインテリジェントなチャレンジ及び応答として実行され得る。
【００３０】
５）使用されるマニューシャ、ユーザのＰＩＮ入力、ジオロケーション、及びバイオメトリクスなどのコンピュータ以外の要素を含む使用されるマニューシャに対する、予想され、予測される変更に基づいて有効な応答の確実性を採点すること。異なるマニューシャが、より高い確実性のスコア、高められたコンピュータの一意性、複数の識別要素、及び特定のマニューシャの分離をもたらす応答を実現するためにチャレンジに対してインテリジェントに選択される可能性がある。
【００３１】
６）暗号化されたメモリ、ローカルの特定、及びアプリケーションの自動消滅を防止するためのハートビートなどの暗号機能でマニューシャを使用することによって、コンピュータ上で実行されるアプリケーション及びデータを保護すること。一部の暗号機能は、万一、暗号機能で使用されるマニューシャが変化する場合にバックアップ機能を可能にするためにマニューシャの２つ以上のサブセットを使用して計算される。意味のあるマニューシャの数が多いことは、コンピュータのユーザと識別子を計算するソフトウェアとの間のより複雑なインタラクションを可能にする。増加した「チャター（ｃｈａｔｔｅｒ）」、マニューシャの意味のある読取り値とおとりの読取り値（ｄｅｃｏｙ  ｒｅａｄ）との混合が、どのマニューシャが意味があるのかを曖昧にし、それによって、マニューシャ値の偽装と、元のコンピュータを装うように意図された呼び出しの傍受とをさらに難しくする。
【００３２】
７）３つの識別要素（「持っているもの」、「知っていること」、及び「特徴」、例えば、それぞれ、コンピュータ又はデバイス、ユーザの秘密、ユーザバイオメトリック情報）を含み得るマニューシャ値によって形成された鍵を用いてメッセージダイジェストを暗号化することによって、コンピュータでユーザによって実行されるアクションのダイジェストをデジタル署名すること。
【００３３】
８）万一、コンピュータの状態が変化する場合には、広範なオンラインサービスプロバイダに知らせること。これは、セキュリティ及びサービスの連続性が維持されるように広範な登録されたオンラインサービスプロバイダからの応答を単一のイベントがトリガすることを可能にする。
【００３４】
９）動的な鍵暗号機能にユーザマニューシャを含め、有効なユーザが特定されたコンピュータを制御していることを保証するために、登録されたコンピュータでサービスＰＩＮ、コンピュータＰＩＮ、又はバイオメトリックを入力することをユーザに強いること。
【００３５】
システム及び方法の一部の実施形態は、１つ又は複数のマニューシャ値のサブセットの計算が、ハードウェア、ファームウェア、ソフトウェア、ユーザの秘密、及びユーザバイオメトリックスを含むさまざまなカテゴリからの、非常に広い、あり得る範囲のマニューシャに基づくことを可能にする。１つの実施形態は、必然的にコンピュータ又はデバイスの使用中に発生する予測の予想される変化をモデル化する。コンピュータ上で見出されるか又はコンピュータによって収集される、より広い、考慮される範囲のマニューシャと、いくつかのマニューシャのモデル化された動的な性質とが、偽装により遭いにくく、より堅牢で安全な認証システムを可能にする。
【００３６】
一実施形態は、コンピュータ識別プロバイダサービスを使用して、産業界からコンピュータマニューシャ情報を収集し、このデータを使用して、登録されたコンピュータのマニューシャに対するあり得る変更及び順列を予想する。コンピュータのハードウェア、ファームウェア、及びソフトウェア要素で見出されるマニューシャの変化を予想することによって、実施形態は、コンピュータの必然的な変化に対して、より高い耐障害性を持つ。このようにして、実施形態は、マニューシャに対する変更を予想し、コンピュータと動的な鍵暗号サービスとの間のチャレンジ及び応答の交換によって、コンピュータと動的な鍵暗号サービスとの間で実際にマニューシャを交換することなしにマニューシャに対する変更を同期することができる。
【００３７】
認証、暗号化、及びデジタル署名などのほとんどすべてのセキュリティ機能が静的な鍵及び識別子に基づくので、本システム及び方法の実施形態は、一部の暗号機能のシステム内バックアップ、並びにコンピュータと動的な鍵暗号サービスとの間の動的に変化するマニューシャの安全な送信、同期、及び更新をやはり可能にする。動的な鍵暗号サービス及びコンピュータは、動的に変化するマニューシャが、認証、暗号化、デジタル著作権管理、及びデータの保護を含む従来から静的なセキュリティ機能で使用されるか、又はそのようなセキュリティ機能の代わりに使用されることを可能にする。
【００３８】
図１は、サービスユーザ２０がコンピュータ１８（例えば、モバイル電話、コンピュータシステム、スマートフォン、ラップトップ、タブレット、センサ、支払い端末、及びメータ、又は任意のその他の通信可能な電子的なコンピュータ）を使用してネットワーク１６（例えば、インターネット、ローカルエリアネットワーク（有線及び無線）、並びにパーソナルネットワーク（例えば、Ｐ２Ｐ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、近距離通信（ＮＦＣ）））を通じて通信することができるシステム１００を示す。（「電子デバイス」、「ユーザデバイス」、又は単に「デバイス」とも呼ばれる）コンピュータ１８は、動的な鍵暗号ライブラリ５６及びサービスプロバイダアプリ４４のコンピュータ１８上での実行を可能にすることができるオペレーティングシステム（ＯＳ）を実行することにより動作し得る。サービスプロバイダアプリ４４は、いくつかのさまざまなＯＳＰのうちの１つ又は複数によって提供される可能性があり、サービスユーザ２０及びユーザコンピュータ１８にサービスプロバイダアプリ４４を提供する特定のサービスプロバイダ１４に固有の特徴を提供する可能性がある。図１に示されるように、サービスプロバイダアプリ４４は、動的な鍵暗号ライブラリ５６とインターフェースをとることができ、サービスプロバイダアプリ４４と動的な鍵暗号ライブラリ５６との両方は、コンピュータ１８及びコンピュータ１８のオペレーティングシステムとインターフェースをとることができる。サービスユーザ２０は、例えば、サービスプロバイダアプリ４４を使用して、コンピュータ１８を使用してネットワーク１６を介してサービスプロバイダ１４と通信することができる。サービスユーザ２０は、いくつかの異なる種類のコンピュータ１８を所有し得る人である可能性があり、任意の数のサービスプロバイダシステム１４のユーザである可能性がある。同様に、コンピュータ１８は、２人以上のサービスユーザ２０、例えば、スマートフォン又はパッドを共有する家族によって使用される可能性がある。
【００３９】
動的な鍵暗号プロバイダ１０は、コンピュータ１８上で見出されるマニューシャ又はサービスユーザ２０からコンピュータ１８によって収集されるマニューシャに関連するさまざまなサービス及び機能を提供することができる。動的な鍵暗号プロバイダ１０は、計算、データモデリング、順列処理、補間、インターネット検索、及び複雑なデータベース機能を実行するなど、大量のデータを安全に操作し、分析することができるウェブサービスである可能性がある。動的な鍵暗号プロバイダ１０は、クラウドに基づく可能性があり、したがって、リソースが制限されることがあるコンピュータ１８から膨大な計算の労力をオフロードするために十分な計算速度及び能力を有する可能性がある。動的な鍵暗号プロバイダ１０は、一部の実施形態においては、複雑なデータパターンマッチング、モデリング、及び複雑で多数の順列の処理のための膨大なデータが集中する問い合わせエンジンを管理することを含む処理のための安全な処理環境を提供することができる。図１に示されるように、動的な鍵暗号ライブラリ５６は、動的な鍵暗号プロバイダ１０と通信することができ、ネットワーク１６を通じてサービスプロバイダ１４と通信することもできる。動的な鍵暗号プロバイダ１０は、ネットワーク１６を介してオンラインサービスプロバイダと通信することもでき、サービスユーザ２０及びユーザコンピュータ１８にサービスプロバイダアプリ４４を提供する特定のサービスプロバイダ１４と通信することができる。サービスプロバイダ１４は、例えば、サービスプロバイダ１４が動的な鍵暗号プロバイダ１０からサービスを受ける顧客である、動的な鍵暗号プロバイダ１０との顧客−ベンダ関係を有する可能性がある。動的な鍵暗号プロバイダ１０に接続される任意の数のサービスプロバイダシステム１４が、存在する可能性がある。サービスプロバイダ１４は、通常、ユーザ名及びパスワードを必要とする産業界の典型的なウェブサイトである可能性がある。サービスプロバイダ１４の例は、ソーシャルネットワークウェブサイト、企業のＩＴサービス、並びにオンラインバンキング、健康管理、及び旅行サービスを含むが、これらに限定されない。
【００４０】
図２は、有効なサービスユーザ２０が図２に示されたシステム２００などのシステムで認証されたコンピュータ１８を使用していることを保証するために動的な鍵暗号を提供し、使用するための例示的な例を示す。以下でより詳細に示されるように、システム２００は、コンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６がありとあらゆる異なるコンピュータ１８及びサービスユーザ２０に一意の動的な鍵を形成するために動的な鍵暗号プロバイダ１０によって使用され得るという意味で、コンピュータ１８及びサービスユーザ２０を特定するために有用である可能性があるコンピュータ１８及びサービスユーザ２０のいくつかのマニューシャ値を収集し、カタログ化することができる。言い換えれば、それぞれの異なるコンピュータ１８は、その異なるコンピュータ１８及びサービスユーザ２０に対応するシステム２００の一意のコンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６を使用するための方法を有する可能性があり、それぞれの一意に特定されたコンピュータ１８は、唯１つの異なるコンピュータ１８に対応し、それぞれの一意に特定されたサービスユーザ２０は、唯１つの異なるサービスユーザ２０に対応する可能性がある。コンピュータ１８の一意の特定は、システム１００、例えば、サービスプロバイダ１４又は動的な鍵暗号プロバイダ１０によって処理される可能性があり、コンピュータ１８に記憶されたいかなる意味のある単一の識別子又は識別鍵自体も存在しない。図２に示されたシステム２００は、動的な鍵暗号プロバイダ１０によって実行されるチャレンジ、応答、及び確認シーケンスによって特定のコンピュータ１８及びサービスユーザ２０を特定し、認証する例を示す。それぞれの異なるコンピュータ１８及びサービスユーザ２０は、例えば、動的な鍵暗号プロバイダ１０によってカタログ化される、特定のコンピュータマニューシャ６４、特定の秘密及びバイオメトリックマニューシャ２６、コンピュータマニューシャ６４の組合せ、特定の秘密及びバイオメトリックマニューシャ２６の組合せ、又は特定のコンピュータマニューシャ６４と、コンピュータ１８上で見出されるか、若しくはサービスユーザ２０からコンピュータ１８によって収集される特定の秘密及びバイオメトリックマニューシャ２６の組合せとの両方の組合せによって認識される可能性がある。
【００４１】
マニューシャの集合は、サービスユーザ２０の匿名性が維持されるように、マニューシャ値がコンピュータ１８から動的な鍵暗号プロバイダ１０に送信される前に、個人の特定可能な情報を示すマニューシャの実際の値を分かりにくくする、曖昧にすること（ｆｕｚｚｉｎｇ）及びハッシュすることなどの方法を含む可能性がある。例えば、電話番号が、実際の電話番号が知られないようにハッシュされる可能性がある。別の例においては、サービスユーザ２０のジオロケーションの家が、動的な鍵暗号ライブラリ５６によって処理される値が、例えば、数フィートではなく数マイル半径を表すようにＧＰＳ座標を切り捨てることによって曖昧にされる可能性がある。このように、手を加えられ得る、コンピュータ１８がほとんど毎晩存在する厳密な住所をサービスユーザ２０の家と判定することは難しい。曖昧なジオロケーションは、動的な鍵暗号プロバイダに対してサービスユーザ２０が匿名であることが可能であり、コンピュータ１８の位置がサービスユーザ２０のプライバシーを侵害することなく追跡され得ないので有益である可能性がある。もしもサービスユーザ２０の本当の身元を知っているサービスプロバイダがデバイスのジオロケーションも知るとすれば、サービスユーザ２０のプライバシーが侵害される可能性がある。したがって、デバイス及びユーザの知識の分離が存在する可能性があり、その結果、匿名のユーザ２０のデバイス（すなわち、コンピュータ１８）が追跡される可能性があり、（サービスユーザ２０の身元を確かに知っている）サービスプロバイダが、サービスユーザ２０のプライバシーを侵害することなくジオロケーションの恩恵を受けるためにジオロケーション情報を必要とするときにのみ動的な鍵暗号プロバイダ１０からのジオロケーション情報を要求する可能性がある。
【００４２】
図２に示されるように、ステップ２００１で、一例において、コンピュータマニューシャ６４は、コンピュータ１８から収集し、カタログ化するために選択され得る３９０個の異なるマニューシャ値の組を表す可能性がある。特定の例においては、ハードウェアマニューシャである４０のカテゴリ又は種類のマニューシャと、ファームウェアマニューシャである７０のカテゴリ又は種類のマニューシャと、ソフトウェアマニューシャである２８０のカテゴリ又は種類のマニューシャとが存在する。ハードウェアマニューシャは、例えば、デバイスの製造業者、モデル番号、シリアル番号、及び国際移動体装置識別（ＩＭＥＩ）番号などの項目を含む可能性がある。ファームウェアマニューシャは、例えば、ファームウェアのベンダの名前、バージョン番号、リビジョン番号、リビジョンの日付、通信及び電話サービス、位置及びＧＰＳデータ、並びにオペレーティングシステムを含む可能性がある。ソフトウェアマニューシャは、例えば、同様に、アプリケーション名、供給業者の識別情報、ソフトウェアリリース番号、メモリの読取り値、ソフトウェアカタログ化（ｓｏｆｔｗａｒｅ  ｃａｔａｌｏｇｕｉｎｇ）、クロック及びその他のカウンタ、並びに日付を含む可能性がある。概して、ハードウェアマニューシャ値は、コンピュータ１８の物理的な構成要素を変更することなく変わり得ない。ファームウェアマニューシャは、更新され得るが、通常、ファームウェアマニューシャの更新は、サービスユーザ２０以外の者によって制御される。ソフトウェアマニューシャは、サービスユーザ２０のさまざまな個々のインスタンス化によって動的に変わり、正常な状況で予測可能な絶え間のない変化を必要とする可能性がある要素（すなわち、頻繁にかけられる連絡先電話番号）を含む。
【００４３】
ソフトウェアマニューシャ値はサービスユーザ２０によって行われたカスタマイズを反映することが多い可能性があることに留意することが重要である。このように、ソフトウェアマニューシャ値は、その他の点ではハードウェア及びファームウェアが極めて似ているコンピュータ１８のデバイスを正確に特定することができる。コンピュータ１８が製造されるとき、デバイスは非常に似ており、したがって、シリアル番号が必要とされるが、セキュリティを考慮すると、これらのハードウェアマニューシャ識別子は数が少なく、容易に偽装される可能性がある。概して、ソフトウェアマニューシャ値に影響を与える大きなカスタマイズは、サービスユーザ２０によってコンピュータ１８が所有されてから数日、さらには数時間以内に行われる。したがって、ソフトウェアマニューシャ値は、デバイスのパーソナライズで著しく多様化し、アドレス指定可能な空間は、サービスユーザ２０によるコンピュータ１８の使用の間中ずっと拡大し続ける。したがって、コンピュータ１８の一意性は、製造後、時間とともに高まり、このことは、エントロピー、又は無秩序になっていく必然的な傾向と呼ばれることが多く、したがって、ソフトウェアマニューシャは、動的な鍵暗号機能のセキュリティに役立つ。マニューシャの値によって表される潜在的な範囲を示すために、例えば、それぞれ長さが平均で４バイトの３００個のマニューシャ値が存在するとすれば、マニューシャ値をインターリーブし、混合して動的な暗号鍵を形成することによって、鍵は、２の９６００乗として定義される空間を表し得る（２の１０２４乗の暗号鍵は、産業界で安全と考えられている）。
【００４４】
ほぼすべてのデータは、マニューシャのクラスの定義及び追加によってシステム２００に導入され得る。例えば、ＰＩＮ、パスワード、サービス履歴、及びその他のサービスユーザ２０の秘密が、マニューシャのクラスであるかのように入力され、処理される可能性がある。例えば、マニューシャインデックスが、マニューシャ値が読まれ、処理され得るメモリ位置を指す可能性がある。ＰＩＮに関するマニューシャインデックスがデバイスに送信される場合、例えば、メモリ位置を読む代わりに、ＰＩＮ画面が、コンピュータ１８に表示される可能性があり、サービスユーザ２０が、ＰＩＮ（又はその他の秘密の値）を入力する可能性があり、入力された情報が、本明細書でシステム２００によって示される方法においてマニューシャ値として処理される可能性がある。同様のプロセスが、バイオメトリック値、例えば、顔の形状、声のパターン、指紋に対して実行され得る。別の例においては、サービスプロバイダアプリ４４が、分析される可能性があり、ソフトウェアの構造自体が、呼び出しアプリケーションサービスプロバイダアプリ４４のランタイムの完全性を保証するためにチャレンジされ、確認され得るマニューシャ値を提供する。したがって、マニューシャのクラスを追加することによって、任意の情報が、システム２００の恩恵（例えば、暗号鍵素材に関する安全な入力、曖昧な確認のマッチング、推測されるマニューシャ値の学習、確実性のランク付け）を得るために処理され得る。
【００４５】
ステップ２００３は、特定のコンピュータ１８に関するマニューシャ７０のデータベースの特定の値の例を示す。マニューシャは、動的な鍵暗号ライブラリ５６を介して取得され得る。動的な鍵暗号ライブラリのさまざまなインスタンスが、単一のコンピュータ１８に存在する可能性があり、サービスプロバイダアプリ４４の１つ又は複数のインスタンス及びプロバイダに関連する可能性がある。この例において、第１のハードウェアマニューシャ（Ｈ１）は、コンピュータ１８のＩＭＥＩ番号である可能性があり、この例の特定のコンピュータ１８に関して、ＩＭＥＩ番号は、「１２３４」と符号化される可能性がある。コンピュータ１８は、特定のコンピュータ１８及びコンピュータ１８の関連するサービスユーザ２０を正確に一意に特定することができる可能性がある４０個の異なるハードウェアマニューシャＨ１〜Ｈ４０の特定の値、７０個の異なるファームウェアマニューシャＦ１〜Ｆ７０の特定の値、異なるソフトウェアマニューシャの２８０個の特定の値Ｓ１〜Ｓ２８０、サービスユーザ２０の秘密の２つの特定の値？１及び？２、及びサービスユーザ２０のバイオメトリックマニューシャの５つの特定の値Ｂ１〜Ｂ５を有する可能性がある。使用される実際のマニューシャと、Ｈ１〜Ｈ４０、Ｆ１〜Ｆ７０、Ｓ１〜Ｓ２８０、？１〜？２、及びＢ１〜Ｂ５のようなそれらのマニューシャのインデックス順序付けとは、図２に示された特定の例に関する特定のカタログ化方式又はマニューシャＤＢ７０のカタログ化を与える。特定の時間に又は何らかの予め定義された時間の枠内でコンピュータ１８上で見出され、又サービスユーザ２０から収集される特定のハードウェア、ファームウェア、ソフトウェア、秘密、及びバイオメトリック値の組合せは、ステップ２００３で示されたように「現在のデバイスのイメージ」と呼ばれる可能性がある。
【００４６】
特定のコンピュータ１８及び特定の方式（例えば、図２のＨ１〜Ｈ４０、Ｆ１〜Ｆ７０、Ｓ１〜Ｓ２８０、？１〜？２、及びＢ１〜Ｂ５）に関して、マニューシャの特定の値のいくつかの可能性が、コンピュータ１８で実際に起こり、サービスユーザ２０によって知られるか、又はサービスユーザ２０のバイオメトリクスを示す可能性がある。例えば、ステップ２００５で示されるように、インデックスＦ１の特定のマニューシャ値は、予想されるマニューシャＤＢ９８と呼ばれるＦ１Ａ、Ｆ１Ｂ、又は場合によってはそれ以外のいずれかである可能性がある。例えば、すべてのその他のコンピュータマニューシャ値が同じままである、インデックスＦ１の値Ｆ１ＡからＦ１Ｂへの変化は、特定の種類のコンピュータ１８に関する（例えば、Ａｎｄｒｏｉｄ（登録商標）オペレーティングシステムを実行するコンピュータに関する）あり得るコンピュータマニューシャの１つの順列を表す。５つの異なる値がインデックスＦ１であり得るとすれば、Ｆ１のみを変更する５つの順列が、残りのコンピュータマニューシャのそれぞれの異なる組合せに対してあり得る可能性があることが分かる。Ｆ１の５つの値すべてがあらゆる組合せに対してあり得るわけではない可能性があるが、概して、順列の数は、すべてのインデックスＨ１〜Ｈ４０、Ｆ１〜Ｆ７０、Ｓ１〜Ｓ２８０、？１〜？２、及びＢ１〜Ｂ５に関して各インデックスのあり得る値の数を掛け合わせることによってあり得る順列の数の推定が行われ得るように乗法的である。図２に示された例に関して、各インデックスに関してあり得る値が２つ又は３つだけであったとしても、すべての種類のコンピュータ１８に関して、マニューシャの順列又は異なるあり得る組合せの数は、容易に実質的に無限になり得る。したがって、その他の点では同一であるように見える多数のコンピュータ１８に対してさえも、マニューシャＤＢ７０と予想されるマニューシャＤＢ９８の関連する実質的に無限の範囲のマニューシャ値との数百万の異なるあり得る組合せの中で、それぞれの単一のコンピュータ１８が、コンピュータ１８の一意のコンピュータマニューシャ６４並びにコンピュータ１８によって収集された秘密及びバイオメトリックマニューシャ２６をマッチングすることによって一意に特定され得る。例として、サービスユーザ２０が新しく製造されたモバイルデバイス（すなわち、コンピュータ１８）を受け取るときに、概して、新品の初期化ルーチンの一部は、コンピュータ１８を、例えば、連絡先、電子メール、及びネットワーク接続などのサービスユーザ２０の特定の情報でカスタマイズすることである。これらの追加が表すカスタマイズ（すなわち、マニューシャ）は、次々と製造されたコンピュータ１８の２つの例を即座に区別することができる。サービスユーザ２０がそれらのサービスユーザ２０のコンピュータ１８を使用するとき、使用は、コンピュータ１８から収集される可能性があるマニューシャ（例えば、頻繁にかけられる電話番号）に影響を与え、差別化し続ける。コンピュータ１８のインスタンスの集合的な産業界に関連するすべての産業界の更新のデータベースを保有することによって−例えば、ハードウェア、ファームウェア、及びソフトウェアマニューシャに対するすべての産業界の更新を収集し、カタログ化することによって−例えば、動的な鍵暗号プロバイダ１０は、現在のマニューシャＤＢ７０によって反映されていないか又は知られていない変更にもかかわらずコンピュータ１８を方法２０００が認識することができる可能性があるように所与のコンピュータ１８のコンピュータマニューシャ６４に関するすべての可能性がどのようなものか知ることができる可能性がある。実際、方法２０００は、現在のデバイスのイメージ（すなわち、マニューシャＤＢ７８）に対する変更の知識（すなわち、予想されるマニューシャＤＢ９８）を利用することによってデバイス（すなわち、コンピュータ１８、コンピュータマニューシャ６４、サービスユーザ２０、並びに秘密及びバイオメトリックマニューシャ２６）の方法２０００による認識の精度及び耐障害性を改善することができる。
【００４７】
特定のコンピュータ１８を特定するためにコンピュータマニューシャ６４の組合せを使用するとき、方法２０００は、インテリジェントなマニューシャの選択１１４を用いてマニューシャの全体の組（すなわち、コンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６）からマニューシャの組合せを選択することができる。図２に示された特定の方法２０１０の例において、選択されたマニューシャの組合せは、１つのハードウェアマニューシャＨｘ、１つのファームウェアマニューシャＦｙ、及び１つのソフトウェアマニューシャＳｚである。そのような組合せは、「３つ組」と呼ばれる可能性がある。３つ組Ｈｘ−Ｆｙ−Ｓｚは図２に示された例のように１つのハードウェア、１つのファームウェア、及び１つのソフトウェアマニューシャを含む可能性があるが、３つ組は、例えば、２つのハードウェアマニューシャ及び１つのソフトウェアマニューシャ、例えば、Ｈｘ−Ｈｙ−Ｓｚを含む可能性もある。また、例えば、４つ以上又は２つ以下のマニューシャ、例えば、Ｈｘ−Ｆｙ−Ｓｚ−Ｂｂなどの「４つ組」が、一度に使用される可能性がある。マニューシャＤＢ７０の全体の組からのマニューシャの任意の組合せが、使用され得る。マニューシャ値のより比較的小さなサブセットは、結果が迅速に確認され得るようにマニューシャ値内の変化の範囲を制約する。マニューシャ値のより比較的長いサブセットは、潜在的な変化（及びしたがってセキュリティ）を大きくし、デジタル署名のような頻繁ではないが高いセキュリティの暗号アクションに役立つ可能性がある。
【００４８】
ｘ、ｙ、及びｚの特定の値はこの例に関しては指定されず、したがって、Ｈｘはステップ２００３に示された４０個のハードウェアマニューシャＨ１〜Ｈ４０のうちの任意の１つ、例えば、ＩＭＥＩ番号である可能性がある。同様に、Ｆｙは、７０個のファームウェアマニューシャのうちの任意の１つである可能性があり、Ｓｚは、例えば、ステップ２００３で示された２８０個のソフトウェアマニューシャのうちの任意の１つである可能性がある。概して、特定のコンピュータ１８のハードウェアマニューシャは、コンピュータ１８全体（及び識別情報）自体を変更することなしに変わらず、したがって、どのようなハードウェアマニューシャＨｘが使用されようと、ステップ２００５のＨ１〜Ｈ４０の脇の「（変更なし）」によって示されるように、チャレンジされている特定のコンピュータ１８に関して変わると予測されない可能性があり、その結果、それぞれの個々のＨｘに関する可能性の数は１つに限られる。図２の方法２０３０に示された特定の例において、ファームウェアマニューシャＦｙは、例示のために９つの異なる認められる値を有すると仮定され、ソフトウェアマニューシャＳｚは、例示のために２０個の異なる認められる値を有する可能性がある。方法２０３０は、それぞれのマニューシャ値に関して、認められるマニューシャ値の許容範囲をあり得るマニューシャ値の範囲に対して変えることによって本発明の耐障害性を変えることができる。
【００４９】
ハードウェア、ファームウェア、及びソフトウェア値の特定の組合せが矛盾し得る（例えば、特定のソフトウェアの更新が特定のファームウェアの更新を必要とし得る）可能性があるが、図２の例は、すべての更新が独立しており、したがって、チャレンジされている特定のコンピュータ１８に関する認められるデバイスの特徴の値の順列の総数が、ステップ２００７で示されるように、３つ組Ｈｘ−Ｆｙ−Ｓｚの各成分Ｈｘ、Ｆｙ、Ｓｚに関する認められる可能性の数の積、すなわち、１＊９＊２０＝１８０であると仮定する。そのとき、マニューシャの選択される組合せに関する認められる順列の数は、同じ３つ組に関するあり得る順列の数よりも少なく、この例に示されるように、すべてのマニューシャに関する順列の総数よりもはるかに少なく、例えば、潜在的に数百万のあり得るマニューシャ値のうちの１８０個、及びステップ２００５に示された潜在的に無限の数の順列のうちの１８０個である可能性がある。
【００５０】
特定のデバイスにチャレンジするために使用されるべきマニューシャの特定の組合せの選択（例えば、図２の例に関してはＨｘ、Ｆｙ、Ｓｚ）は、コンピュータ１８毎及びサービスプロバイダ１４毎に変わり得るだけでなく、例えば、同じコンピュータ１８が同じサービスプロバイダ１４のためにチャレンジされるたびに変わり得る。インテリジェントなマニューシャの選択１１４は、特定のコンピュータ１８及びサービスユーザ２０の特定のチャレンジのために使用されるようにマニューシャの組合せを選択する際にいくつかの考慮すべき事柄を使用する可能性がある。示されたステップ２０１０として、マニューシャの組合せのインテリジェントな選択（例えば、Ｈｘ、Ｆｙ、Ｓｚ）は、一意性の必要性、予測精度、及びあり得る変化の範囲に基づく可能性がある。例えば、マニューシャの選択は、現在のコンピュータマニューシャ６４の知識、現在の秘密及びバイオメトリックマニューシャ２６、並びに起こり得るすべてのマニューシャ値の更新の知識（つまり、予想されるマニューシャＤＢ）に基づいて現在のマニューシャＤＢ７０のデータベースに対する変更の予測を使用する可能性がある。起こり得るすべてのマニューシャ値の更新の知識は、更新が実際に起こったか否かに関わらず、すべてのコンピュータマニューシャの更新と、特定のサービスユーザ２０によるコンピュータ１８の使用により引き起こされるヒューリスティックスにより決定される傾向との産業界全体にわたる上述の収集及びカタログ化から得られる可能性がある。また、例えば、一意性及び予測精度が問題である場合、値が知られており、変化すると予測されないマニューシャが選択される可能性がある。あり得る変化の範囲が問題である場合、変化の可能性が小さくされるか又は認められる変化の許容範囲がより狭められたマニューシャが選択され得る。特定のマニューシャを静的なマニューシャと組み合わせることによって、特定のマニューシャを分離するためのマニューシャの組合せが選択される可能性がある。同様に、静的なマニューシャが、静的なマニューシャの構成要素を保護するために、何らかの形で変化する組を形成するために、急速に変化するマニューシャとグループ化される可能性がある。マニューシャの組は、ジオロケーション又はユーザの秘密などの特定の目的に合わせて選択される可能性がある。マニューシャの組は、本人が持っているもの、本人が知っていること、及び本人の特徴のさまざまな識別要素からのマニューシャを組み合わせる可能性がある。マニューシャ値は、特定のマニューシャの確認を周期的に「リフレッシュ（ｒｅｆｒｅｓｈ）」するために選択される可能性がある。
【００５１】
インテリジェントなマニューシャの選択１１４プロセスは、ハードウェア、ファームウェア、ソフトウェア、ユーザの秘密、及びユーザのバイオメトリクスの異なるマニューシャのソースからマニューシャを選択することができる。インテリジェントなマニューシャの選択１１４プロセスは、マニューシャのサンプリングのパターンを推定することが推測しにくいようにさまざまなコンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６を広く推測できないようにサンプリングするためにマニューシャをほぼランダムに選択する。しかしながら、コンピュータマニューシャ６４に対する変更を容易に示し、決定する特定のマニューシャのペア及びグループが存在する可能性がある。そのような場合、マニューシャの（「ランダム」ではなく）「選択された」サブセットが、インテリジェントなマニューシャの選択１１４プロセスによって選択される可能性がある。
【００５２】
インテリジェントなマニューシャの選択１１４プロセスが使用されるべきマニューシャを決定した後、チャレンジ定式化１１６プロセスが、ＳＰ情報及びＩＤ３２データベースからマニューシャのマニューシャインデックスを探し、これにより、１つのサービスプロバイダ１４のマニューシャインデックスが別のサービスプロバイダ１４と異なることを可能にする。次いで、インデックスは、やはりサービスプロバイダ１４のインスタンス間の区別及びセキュリティを提供するために、（図３、特に、ＳＰ情報及びＩＤ３２データベースで示されるように）各サービスプロバイダに対して定義されたアルゴリズムを使用して乱数と組み合わされる。そのとき、チャレンジ定式化１１６プロセスからのチャレンジの結果は、プロセス及びステップ２０２０であり、チャレンジ送信及び応答待ち１１８プロセスに与えられる可能性がある。チャレンジは実際のチャレンジ値として働くほぼランダムな情報を含むので、チャレンジの送信は、暗号化されたトンネルを介して行われる必要がなく、必要に応じてチャレンジ送信及び応答待ち１１８によって安全に送信され得る。
【００５３】
ステップ２０２０に示されるように、チャレンジ定式化１１６プロセスは、マニューシャの選択された組合せ（例えば、示された例に関してはＨｘ−Ｆｙ−Ｓｚ）に基づいて暗号鍵を計算することができる。例えば、ｘ、ｙ、及びｚのそれぞれが、特定のサービスプロバイダ１４のデータベース内の対応するハードウェア（Ｈ）、ファームウェア（Ｆ）、及びソフトウェア（Ｓ）情報に対するテーブルインデックス値（例えば、整数）である可能性がある。特定のサービスプロバイダ１４に関する特定のｘ、ｙ、及びｚテーブル順序付け及び属性は、特にサービスプロバイダ１４に関して生成された動的な鍵暗号ライブラリ５６と、動的な鍵暗号プロバイダ１０によって維持されるサービスプロバイダ１４に固有の情報のデータベースとの両方で見出される。鍵は、例えば、数学的又は暗号関数「Ｆｎ」をマニューシャ値の組合せＨｘ＋Ｆｙ＋Ｓｚに適用することによって、ステップ２０２０で示されたように計算され得る。したがって、暗号鍵は、マニューシャの選択された組合せ、例えば、３つ組Ｈｘ−Ｆｙ−Ｓｚからの情報を暗号的に符号化する可能性がある。同じマニューシャの参照、例えば、ｘ、ｙ、及びｚテーブルインデックスは、前に使用されたのと同じ又は異なる関数である可能性がある数学的又は暗号関数「Ｆｎ」を適用して、例で使用されるように、インデックスを乱数などのその他の情報と組み合わせるチャレンジ値を形成することによって計算され得る。したがって、チャレンジは、チャレンジの実際の応答を計算する際にどのマニューシャが使用されるべきかを決定するための、チャレンジされているコンピュータ１８に関する十分な情報を暗号的に符号化する。しかしながら、コンピュータ１８がコンピュータ１８の応答を計算する際にマニューシャＨｘ−Ｆｙ−Ｓｚ及びそれらのマニューシャのコンピュータ１８自体の実際の値を使用する可能性があるとしても、マニューシャの実際の値が何であるかについての情報はチャレンジ又は応答に含まれず、応答から直接集めることもできないことに留意することが重要である。
【００５４】
ステップ２０３０において、動的な鍵暗号プロバイダ１０が、コンピュータ１０が生成することを認められるすべての応答を計算する。認められる応答の計算は、チャレンジのために選択されたマニューシャの定義されたサブセットに対するあり得る変更の許容範囲に基づく可能性がある。これらの計算は、（例えば、コンピュータ１８から実際の応答を受信することと独立して−それよりも前であろうと、それと同時であろうと、又はそれよりも後であろうと）前もって行われる可能性があり、コンピュータ１８からの実際の応答と比較するために有効な応答ＤＢ１３０に記憶される可能性がある。チャレンジは、動的な鍵暗号プロバイダ１０又はサービスプロバイダ１４によって、チャレンジされている特定のコンピュータ１８に送信される可能性がある。特定のデバイスにチャレンジするために使用されるべきマニューシャの特定の組合せ（例えば、図２の例に関してはＨｘ、Ｆｙ、Ｓｚ）が選択されるマニューシャの全体の組に関する産業界の更新を絶えず継続的に収集し、カタログ化しているので、あり得る変化の範囲が処理され得る。したがって、チャレンジがコンピュータ１８に送信される前にチャレンジに対するあらゆる許容される応答が分かる（例えば、ステップ２０３０で計算される）ので、チャレンジに対してコンピュータ１８から受信される実際の応答は、コンピュータ１８にチャレンジしている動的な鍵暗号プロバイダ１０によって計算された予め処理された認められる応答の範囲の間（及びしたがって認められる変化の間）にある可能性がある。ステップ２０３０で示されたように、ハードウェアに関してあり得る変更がなく（例えば、１つのあり得る値）、ファームウェアに関して９つのあり得る変更又は値があり、ソフトウェアに関して２０のあり得る変更があるこの特定の例においては、コンピュータ１８がチャレンジに対して返す１８０個の許容される応答が存在する。１８０個の許容される応答のそれぞれは、ステップ２０４０に示されるように、コンピュータ１８が応答プロセス１１２でコンピュータ１８の実際の応答を計算するのと同様にして動的な鍵暗号プロバイダ１０によって計算され得る。
【００５５】
ステップ２０４０において、チャレンジされている特定のコンピュータ１８が、チャレンジを受信し、特定のコンピュータ１８がチャレンジに対する特定のコンピュータ１８の応答を形成するためにどのマニューシャの値を収集し、使用すべきかを決定するためにチャレンジを展開する。動的な鍵暗号ライブラリ５６に記憶された情報及びアルゴリズムを使用してチャレンジを展開した後、応答プロセス１１２が、コンピュータ１８を使用して、選択されたコンピュータマニューシャ６４の値を取り出すか、又は選択されたサービス及びバイオメトリックスマニューシャ２６の値を収集し、ステップ２０２０で動的な鍵暗号プロバイダ１０によって計算された鍵と同一である可能性がある鍵を構築することができる。チャレンジされている特定のコンピュータ１８は、図２に示されるように、ステップ２０２０又はステップ２０３０で使用された数学的又は暗号関数と同じであるべき数学的又は暗号関数「Ｆｎ」を鍵＋チャレンジに適用することによってチャレンジに対する応答を形成することができる。次いで、チャレンジされているコンピュータ１８は、動的な鍵暗号プロバイダ１０に直接的に、又はサービスプロバイダ１４を介して間接的に応答を返すために応答を伝達することができる。やはり、チャレンジ及び応答の交換は、乱数要素を含み得るので、同じマニューシャが選択されたとしても毎回変化する可能性がある。したがって、応答は、ネットワーク１６を介してコンピュータ１８と動的な鍵暗号プロバイダ１０との間で安全に送信される必要がないが、必要に応じてそのように送信され得る。動的な鍵暗号プロバイダ１０は、ステップ２０５０の処理のためにコンピュータからの応答確認１２０プロセスにコンピュータ１８の応答を送信する。
【００５６】
ステップ２０５０に示されるように、コンピュータからの応答確認１２０プロセスは、したがって、単純に、コンピュータ１８から受信された実際の応答を動的な鍵暗号プロバイダ１０によって予め処理される許容される応答と比較して一致するか否かを判定することによって決定され得る。応答の暗号解除又は復号は不要であり、したがって、確認は非常に迅速に行われ得る。実際の応答と予め処理された応答のうちの１つとが一致すると、コンピュータからの応答確認１２０プロセスは、いずれの応答も実際のマニューシャ値についてのいかなる直接的な又は復号可能な情報も含まないとしても、どのあり得る応答が実際の応答と一致したかを知ることによって、選択された組合せ（例えば、３つ組Ｈｘ−Ｆｙ−Ｓｚ）に関してコンピュータ１８からの特定の実際のマニューシャ値が何であるかを知ることができる。一致が見出される場合、チャレンジで使用されたマニューシャのサブセットは、知られているか又は認証されていると考えられ得る。例えば、ステップ２００７に見られるように、実際の応答が第１７２のあり得る応答「Ｒｅｓｐ１７２」又は順列と一致する場合、実際のデバイスの値は、「Ｒｅｓｐ１７２」自体がチャレンジされている実際のマニューシャ値に関するいかなる直接的な情報も含まないとしても、Ｈｘ、Ｆｙに関する第１の可能性（例えば、Ｆｙ０）、及びＳｚに関する第２０の可能性（例えば、Ｓｚ１９）の値と一致するはずである。
【００５７】
コンピュータからの応答確認１２０プロセスは、一致する応答の確実性を高めるためにマニューシャ値の論理的なグループ化を使用する可能性がある。関連するマニューシャのグループ化は、例えば、予想されるマニューシャＤＢ９８から集められるか、又はヒューリスティックスにより発見される可能性がある。例えば、１組のマニューシャが産業界の更新によってのみ変更され、その組のすべてのマニューシャが特定の更新によって一斉に一意の値に変わる場合、万一、更新に関連するマニューシャの組の１つの特定のマニューシャ値又は複数の特定のマニューシャ値が単一の更新の組に関してその他のマニューシャの予測される値を共有しないならば、コンピュータからの応答確認１２０は、更新の論理的なグループ化の中のマニューシャ値に関連する応答が誤っているか又は不正である可能性があると推定し得る。例として、万一、マニューシャ値がコンピュータ１８のオペレーティングシステムを介して応答プロセス１１２によって収集されるときに、不正なエンティティが、偽造された情報を返すようにコンピュータ１８を変更したとすると、実際のマニューシャ値が返されない。このようにして、不正なエンティティは、コンピュータ１８を別のコンピュータ１８のように見せるか、又はあるサービスユーザ２０を別のサービスユーザ２０のように見せる可能性がある。コンピュータからの応答確認１２０は、マニューシャの論理的なグループ化を使用し、例えば、同じ値であるべきことを収集するために複数のメソッドを使用する可能性がある（つまり、スマートフォンの電話番号が、いくつかのメソッドを通じて知られる可能性がある）。（１）多くの場合、電話番号などの特定の値を読むための複数のメソッドが存在する。さまざまなメソッドが使用される可能性があり、返されたマニューシャ値が一貫性に関して比較される可能性がある。（２）多くの場合、マニューシャ値のグループは、１つのグループにおける変化が別の所の変化を引き起こすはずであるように関連付けられる（例えば、時間及び時間帯）。コンピュータからの応答確認１２０プロセスにおいては、互いに関連するマニューシャ値が、変化がマニューシャ値の関連する「グループ」全体で一貫していることが分かることを保証するために検証され得る。
【００５８】
厳密な一致が見つからないとしても、１組のあり得るマニューシャからの許容される範囲が拡大される可能性があり、又はその他の関連する可能性があるマニューシャを使用するさらなるチャレンジが、デバイスを有効化するためにデバイスに送信される可能性がある。必要ならば、コンピュータ１８のコンピュータマニューシャ６４の変化が、図４に示される登録サブシステム４００を使用してコンピュータ１８から動的な鍵暗号プロバイダ１０に送信され得る。
【００５９】
応答が予測された応答でない場合、図６Ｂに示される確認失敗プロセスが、確認が失敗したことをサービスプロバイダ１４に警告することができる。
【００６０】
ステップ２０６０において、実際の応答と予め処理された応答のうちの１つとが一致すると、コンピュータマニューシャ更新１２８プロセスが、いずれの応答も実際のマニューシャ値についてのいかなる直接的又は復号可能な情報も含まないとしても、どのあり得る応答が実際の応答と一致したかを知ることによって、選択された組合せ（例えば、３つ組Ｈｘ−Ｆｙ−Ｓｚ）に関してコンピュータ１８からの特定の実際のマニューシャ値が何であるかを知ることができる。次いで、応答の計算で使用された有効な応答ＤＢ１３０からの値が、マニューシャＤＢ７０データベースに記憶された値を更新するために使用される可能性がある。
【００６１】
図３は、一実施形態によるサービスプロバイダアプリケーション（アプリ）配信システム３００を示す。図３は、サービスプロバイダアプリ４４が、サービスプロバイダ１４に対して一意である動的な鍵暗号ライブラリ５６をそのサービスプロバイダアプリ４４に含め、コンピュータ１８でコンピュータセキュリティ機能を実行するようにコンピュータ１８にサービスプロバイダアプリ４４を配信するためのシステムを示す。
【００６２】
サービスプロバイダアプリ４４は、サービスプロバイダアプリ４４の最終的な実行可能な形式を形成するために、アプリケーションソースコード４２で、ライブラリとしてコンパイルされた動的な鍵暗号ライブラリ５６に対するアプリケーションプログラマインターフェース（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｅｒ  ｉｎｔｅｒｆａｃｅ／ＡＰＩ）呼び出しを行うことを除いて、典型的な産業界のアプリケーションと同様である可能性がある。サービスプロバイダアプリ４４は、サービスプロバイダアプリ４４がコンピュータ１８で実行されているときにサービスプロバイダアプリ４４の完全性を確認することができるマニューシャ値を生成するための分析のために動的な鍵暗号プロバイダ１０によって共有される可能性がある。サービスプロバイダアプリ４４は、安全にし、内密にするためにサービスプロバイダ１４が必要とするデータを含むか又は記憶することを望む可能性がある。
【００６３】
動的な鍵暗号プロバイダ１０の中に、システム３００を使用するためにサービスプロバイダシステム１４を登録するためのサービスプロバイダ登録３０プロセスが存在する可能性がある。サービスプロバイダ登録３０プロセスは、サービスプロバイダ１４に固有のデータを記録し、生成し、そのデータをＳＰ情報及びＩＤ３２データベースに記憶する。そのようなデータは、ＰＩＮの利用などのプリファレンス（つまり、システムＰＩＮを強制する、サービスＰＩＮを使用するなど）と、接続を許可するための最小スコアとを含む可能性がある。ＳＰ情報及びＩＤ３２データベースは、例えば、カスタムの動的な鍵暗号ライブラリ５６が生成された顧客及びパートナーのリストである可能性がある。ＳＰ情報及びＩＤデータベース３２は、システム３００全体を通してサービスプロバイダ１４のデータを特定し、暗号化するために使用される鍵素材と、マニューシャをインデックス付けするためのテーブルとを含む可能性がある。そのようなＳＰ情報及びＩＤ３２データベースは、サービスプロバイダ１４を一意に特定し、サービスプロバイダ１４によって使用されるシステム３００の特徴及び要素が安全であり、システム３００を使用し得るその他のサービスプロバイダシステム１４と別であることを保証することができる。これは、複数の独立したサービスプロバイダシステム１４が結びつき、データを比較し、サービスユーザ２０の非公開データ又は傾向と考えられ得ることを推測することができないようにデータ及び識別子のサービスの分離を行う。
【００６４】
サービスプロバイダ１４に対して一意のＳＰ情報及びＩＤ３２のデータが、ＳＰ情報及びＩＤ３２データベースのデータ要素を含む動的な鍵暗号ライブラリ５６を作成するためにカスタムライブラリ生成３４プロセスで使用され得る。サービスプロバイダ１４に対して一意のデータに加えて、カスタムライブラリ生成３４プロセスは、特定のサービスプロバイダ１４にコードのカスタムを生み出す可能性がある。そのようなカスタムコードは、異なる暗号化アルゴリズム（例えば、ＡＥＳ、ＲＳＡ、楕円曲線）、異なるハッシュアルゴリズム（例えば、セキュアハッシュアルゴリズム（ＳＨＡ−１）、メッセージダイジェスト（ＭＤＭ））、一意のシステム暗号化鍵、一意のルックアップテーブルルーチン及び順序付け、マニューシャ値を動的な暗号鍵へと組み合わせるための異なるハッシュメソッド（例えば、インターリーブされたビット変換、逆順序付け、ビット反転、ビットシフト）、並びに特定のサービスプロバイダ１４に一意に利用可能なマニューシャの定義及びクラスを含む可能性がある。１つのサービスプロバイダ１４のための動的な鍵暗号ライブラリ５６の侵害が別のサービスプロバイダ１４の動的な鍵暗号ライブラリ５６に影響を与え得ないように、カスタマイズのすべては、コンパイルされるときに、サービスプロバイダ１４に一意の動的な鍵暗号ライブラリ５６を形成する。加えて、まったく同じマニューシャ値がまったく同じコンピュータ１８で動的な暗号鍵を形成するために使用されるとしても、１つのサービスプロバイダ１４のための結果として得られる動的な暗号鍵は、別のサービスプロバイダ１４のための結果として得られる動的な暗号鍵と異なる可能性があり、したがって、サービスプロバイダ１４の異なるインスタンスに関する応答は、まったく同じチャレンジが送信されたとしても異なる。
【００６５】
動的な鍵暗号ライブラリ５６の情報で使用される異なるＳＰ情報及びＩＤ３２データベースのおかげで、例えば、サービスプロバイダ１４の２つのインスタンス（例えば、２つの異なるオンラインサービスプロバイダ）が、コンピュータ１８からの集められた情報を比較し、それらのインスタンスの個々のサービスプロバイダアプリ４４が同じコンピュータ１８に存在していると結論づけることが防止され得る。これは、サービスユーザ２０のコンピュータ１８に接続されたサービスプロバイダ１４の複数のインスタンスに基づくサービスユーザ２０のプロファイリングを防ぐ。
【００６６】
同様に、動的な鍵暗号ライブラリ５６を形成したカスタムライブラリ生成３４で導入された一意の計算の可能性のおかげで、特定の動的な鍵暗号ライブラリ５６に含まれるプライバシー及びセキュリティに対する成功した攻撃が、別のサービスプロバイダ１４に関連する動的な鍵暗号ライブラリ５６に対して成功しない可能性がある。
【００６７】
動的な鍵暗号ライブラリ５６は、とりわけ、
１）コンピュータ１８上で見出されたコンピュータマニューシャ６４を読み、適切なサービスユーザ２０が特定されたコンピュータ１８を使用していることを確認することができる秘密及びバイオメトリックマニューシャ２６のサービスユーザ２０によるコンピュータ１８への入力を容易にすることと、
２）ネットワーク１６を介してコンピュータマニューシャ情報を伝達することと、
３）コンピュータ１８上で見出されたコンピュータマニューシャ６４並びにサービスユーザ２０によってコンピュータ１８に入力された秘密及びバイオメトリックマニューシャ２６を使用してコンピュータを一意に特定し、データを保護し、デジタル署名を行うために動的な鍵暗号プロバイダ１０のチャレンジに応答することと、
４）動的な鍵暗号プロバイダ１０からの、おそらくは、サービスプロバイダアプリ４４及びそれ自体（動的な鍵暗号ライブラリ５６）を保持、移動、又は削除する要求を処理することと、
５）扱いに注意を要するアクションを傍受することを難しくするさまざまな機構によって動的な鍵暗号ライブラリ５６の活動をランダム化するか又は分かりにくくすることとを担う。
【００６８】
サービスプロバイダ１４に対して一意に生成された動的な鍵暗号ライブラリ５６は、いくつかの方法のいずれかを使用してサービスへのカスタムライブラリ送信３８プロセスでネットワーク１６を介して安全にサービスプロバイダ１４に送信され得る。動的な鍵暗号ライブラリ５６は、コンピュータ１８とインタラクションすることによってサービスプロバイダアプリ４４によって且つサービスプロバイダアプリ４４の代わりに指示されるセキュリティ機能を実行するように設計されたプログラム論理を含む可能性がある。コンピュータ１８の比較的新しい形態（例えば、スマートフォン及びタブレット）では、サービスプロバイダアプリ４４の一部として機能する動的な鍵暗号ライブラリ５６は、実行されているとき、コンピュータ１８のための必要とされるサービスにアクセスするためにアプリケーションをそのときに独立して実行する、より信頼できる方法である。さらに、動的な鍵暗号ライブラリ５６及びサービスプロバイダアプリ４４のより大きな組み合わされたコードのサイズは、セキュリティを破ろうとしてセキュリティ機能を分離するために、より時間がかかり難しい労力を課する可能性がある。
【００６９】
サービスプロバイダ１４は、動的な鍵暗号ライブラリ５６をサービスプロバイダ１４のアプリケーションソースコード４２と組み合わせてサービスプロバイダアプリ４４を生成することによって、産業界の典型的なアプリケーション構築４０プロセスを実行することができる。サービスプロバイダアプリ４４は、ネットワーク１６を介して直接配布する方法、及びアプリケーション配布４６プロセスを介してコンピュータ１８にロードするためにネットワーク１６を介するか又はサービスユーザ２０に直接かのいずれかでサードパーティソフトウェアディストリビュータ２２を通じて配布する方法を含む任意の数の方法で配布され得る。サードパーティソフトウェア配布システム２２は、サービスプロバイダ１４からコンピュータ１８にソフトウェアを配布するための任意的な１つのシステム又は複数のシステムである可能性がある。ＡｐｐｌｅのＡｐｐＳｔｏｒｅ（登録商標）は、そのようなソフトウェア配布システムの例である。
【００７０】
図４は、一実施形態によるコンピュータ及びユーザマニューシャの登録のためのシステム４００を示す。図４は、コンピュータ１８をネットワーク１６を介して動的な鍵暗号プロバイダ１０及びサービスプロバイダ１４に登録するためのシステムを示す。
【００７１】
コンピュータ１８は、そのコンピュータ１８にサービスプロバイダアプリ４４を有する可能性がある。サービスプロバイダアプリ４４がインストールされるとき、サービスプロバイダアプリ４４内の動的な鍵暗号ライブラリ５６は、インストールを検査７６するためにテストを行うことができる。インストール検査７６は、動的な鍵暗号ライブラリ５６の一部である可能性があり、ユーザ認証５０プロセスによってサービスプロバイダ１４により与えられる共有される秘密を使用する可能性がある。この場合、サービスユーザ２０は、予め定義された質問に答え、履歴的なサービスの使用を認識し、サービスユーザ２０又はその他の本人確認メソッドによって使用されたコンピュータ１８の過去のインスタンスを認識する可能性がある。
【００７２】
加えて、インストール検査７６プロセスは、その他のサービスプロバイダシステム１４からのサービスプロバイダアプリ４４のその他のインスタンスを探し、コンピュータ１８の履歴をさらに保証するために動的な鍵暗号プロバイダ１０にすべての見出されたインスタンスの報告を返す可能性がある。
【００７３】
ユーザ認証５０が実行された後、サービスプロバイダ１４が、サービスプロバイダ１４がサービスユーザ２０を特定するために使用するアカウント識別子を動的な鍵暗号プロバイダ１０に送信する可能性がある。コンピュータ登録６８プロセスが、サービスユーザ２０を特定のコンピュータ１８にリンクするためにアカウント識別子をコンピュータマニューシャデータベース（ＤＢ）７０に結びつける。
【００７４】
動的な鍵暗号ライブラリ５６は、コンピュータ１８からのマニューシャ（ハードウェア、ファームウェア、及びソフトウェア）並びにサービスユーザ２０からのマニューシャ（秘密及びバイオメトリクス）を含む幅広いコンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６を鍵マニューシャ取り出し５８プロセスを使用してサンプリングすることができる。秘密及びバイオメトリックマニューシャ２６は、コンピュータ１８によって、又はその他の伝達方法を介してサービスユーザ２０から収集され得る。すべてのあり得るマニューシャ値が、インストールで読まれる必要があるとは限らず、一部は後で読まれる可能性がある。
【００７５】
サービス鍵のためのマニューシャを選択するためのプロセス６０は、コンピュータ１８のローカルに記憶された暗号化されたサービスデータ１９６などのもののために動的な鍵暗号ライブラリ５６並びにシステム１００、２００、３００、４００、５００、６００、７００、８００、及び９００のその他の部分によって使用され得る暗号化及び識別子鍵を生成するためにコンピュータマニューシャ６４の一部又はすべてを使用する。これらの選択は、動的な鍵暗号ライブラリ５６で事前に定義されるか、又は動的な鍵暗号ライブラリ５６によって管理され、守られるサービス鍵マニューシャ選択６６データベースに記憶される可能性がある。サービス鍵マニューシャ選択６６データベースは、コンピュータ１８のセキュアエレメント内に存在する可能性があり、オフライン処理のために使用される可能性がある。サービス鍵のためのマニューシャ選択６０プロセスによって選択されたマニューシャは、動的な鍵暗号ライブラリ５６によって必要とされるサービス鍵を動的に構築するために動的な鍵暗号ライブラリ５６によって使用される可能性があり、コンピュータマニューシャ６４を読んだ結果として得られる鍵は、動的な鍵暗号ライブラリ５６又はシステム４００に記憶されず、サービス鍵マニューシャ選択６６データベースを調べ、鍵マニューシャ取り出し５８プロセスを用いて結果として得られるコンピュータマニューシャ６４又は秘密及びバイオメトリックマニューシャ２６を取得することによって、必要とされるときに計算され得る。したがって、サービスプロバイダアプリ４４が１つのコンピュータ１８から別のコンピュータ１８にコピーされた場合、サービス鍵がコンピュータマニューシャ６４から構築されたときに、結果として得られるサービス鍵は、例えば、コンピュータ１８のローカルに記憶されたデータを適切に復号することができない。
【００７６】
コンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６の一部は、動的な鍵暗号プロバイダ（ＤＫＣＰ）へのマニューシャ送信６２プロセスを介して動的な鍵暗号プロバイダ１０に送信される。動的な鍵暗号プロバイダ１０が動的な鍵暗号プロバイダ１０のマニューシャＤＢ７０データベースのコンピュータマニューシャ６４との存在する一致を探すことができるように、比較的少ない量のコンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６が、動的な鍵暗号プロバイダ１０に送信され得る。動的な鍵暗号プロバイダ１０は、一致するマニューシャ６４を発見する場合、コンピュータマニューシャ６４のより広い組を検証するために、図２に示されたチャレンジ、応答、及び確認の交換を送信することができる。コンピュータマニューシャ６４のより広いサンプリングが動的な鍵暗号プロバイダ１０によって適切に検証される場合、動的な鍵暗号プロバイダ１０は、おそらく、これがコンピュータ１８に追加されている別のサービスプロバイダアプリ４４であると推定し得る。動的な鍵暗号プロバイダ１０が動的な鍵暗号プロバイダ１０のマニューシャＤＢ７０データベースで一致するコンピュータマニューシャ６４を発見しない場合、コンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６のサブセットが、コンピュータ１８が適切に一意に特定される可能性があり、コンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６の残りが図２に示されたコンピュータマニューシャ更新１２８プロセスを用いて動的な鍵暗号プロバイダ１０によって知られる可能性があるように、プロセス「ＤＫＣＰへのマニューシャ送信６２」を使用することができる。このように、図２に示されたように、チャレンジ、応答、及び確認によってマニューシャの一部を移動することができる可能性があり、マニューシャの必ずしもすべてが、動的な鍵暗号ライブラリ５６のカスタマイズを通じてサービスプロバイダ１４により変わり得るいくつかの安全な送信方法を使用する可能性があるＤＫＣＰへのマニューシャ送信６２プロセスを介して移動される必要があるわけではない可能性がある。
【００７７】
ＤＫＣＰへのマニューシャ送信６２プロセスを実行することによって、コンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６のさまざまな値が、コンピュータ登録６８プロセスを実行することができる動的な鍵暗号プロバイダ１０にそれらの値のマニューシャ記述子（ｍｉｎｕｔｉａ  ｄｅｓｃｒｉｐｔｏｒ）とともに送信され得る。コンピュータ登録６８プロセスは、コンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６を、サービスユーザ２０に関するサービスプロバイダ１４アカウント識別子の参照とともにマニューシャＤＢ７０に記録することができる。マニューシャＤＢ７０は、マニューシャの種類（又はカテゴリ）、マニューシャの値、及びサービス識別子をその後の処理のために記憶することができる。
【００７８】
動的な鍵暗号プロバイダ１０は、一意の動的な鍵暗号ライブラリ５６によってランダム化されたコンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６を記憶することができる。動的な鍵暗号プロバイダ１０は、実際のコンピュータマニューシャ６４を知るためにＳＰ情報及びＩＤ３２のデータを使用してサービスプロバイダ（ＳＰ）マニューシャを復号７４することもできる。これらの実際のマニューシャ値の多くは、動的な鍵暗号プロバイダ１０によってのみ知られており、複数のサービスプロバイダシステム１４へのサービスのために後で使用され得る。
【００７９】
実際のコンピュータマニューシャ６４並びに秘密及びバイオメトリックマニューシャ２６の一部は、ＳＰへのコンピュータプロファイル送信７２プロセスを介してサービスプロバイダ１４に送信され得る。結びつき、マニューシャ値に手を加える可能性があるサービスプロバイダ１４のさまざまなインスタンスによってサービスユーザ２０がプロファイリングされることを防ぐためにマニューシャ値の記述名が、それらの記述名の実際の意味が分からないように抽象化される可能性がある（例えば、カウンタ−１、カウンタ−２、エンターテインメント−１）。加えて、可能な場合、マニューシャの値は、実際のマニューシャ値を隠すためにハッシュされる可能性がある。サービスプロバイダ１４は、ＳＰコンピュータ情報ＤＢ５４にコンピュータ情報を記憶５２するか、又はサービス及びユーザデータ２４データベースにデータを記憶する（又はこれら両方を行う）可能性がある。ＳＰコンピュータ情報ＤＢ５４の情報は、サービスプロバイダ１４のサービスプロバイダアプリ４４のソフトウェアを実行するコンピュータシステム１８の種類及びマニューシャを理解するためにサービスプロバイダ１４に役立つ可能性がある。そのような情報は、例えば、ＯＳの種類及びバージョン、コンピュータの型及びモデルを含み得る。サービス及びユーザデータ２４データベースは、サービスプロバイダ１４にとって意味があるＰＩＮ及びパスワードなどの秘密を含む可能性がある。
【００８０】
図５は、一実施形態による予想されるマニューシャデータベースを生成し、更新するために産業界のマニューシャをカタログ化及びモデル化するために使用され得るシステム５００を示す。図５は、幅広い産業界のソースから産業界の更新カタログＤＢ９６を生成し、その情報を使用して予想されるマニューシャＤＢ９８を形成するためのシステム５００を示す。
【００８１】
動的な鍵暗号プロバイダ１０は、最終的に産業界の更新カタログＤＢ９６を蓄える産業界のマニューシャカタログ化８６プロセスを定期的に実行する。このデータベースは、産業界のマニューシャの大きいが有限の集合を管理するためのものである。大規模な検索、補間、多アップグレード順列モデリング（ｍｕｌｔｉ−ｕｐｇｒａｄｅ  ｐｅｒｍｕｔａｔｉｏｎ  ｍｏｄｅｌｉｎｇ）、及び確率計算が、産業界の更新カタログＤＢ９６内に見出されたデータに対して実行される。
【００８２】
産業界のマニューシャカタログ化８６プロセスは、コンピュータ産業界調査９０を使用して、マニューシャ更新収集８８プロセスをヒューリスティックスにより経験的に実行する。マニューシャ更新収集８８プロセスは、ソフトウェア製造業者８０、コンピュータハードウェア製造業者８２、及びファームウェア製造業者８４から情報を探し出すためにネットワーク１６（例えば、インターネット）を探し回る。ソフトウェア製造業者８０は、とりわけ、ソフトウェア製造業者、オンラインソフトウェア販売店、ソフトウェアのサポートサービス、及び一部のオペレーティングシステムを含む可能性がある。コンピュータハードウェア製造業者８２は、とりわけ、ＰＣ、ラップトップ、タブレット、スマートフォン、特定用途向けコンピュータ、及びネットワーク１６に接続できることが多いその他のハードウェアの製造業者を含む可能性がある。ファームウェア製造業者８４は、とりわけ、（通常、ドライバと呼ばれる）ハードウェアに関連するソフトウェア、一部のオペレーティングシステムソフトウェア、モバイル事業者ネットワーク又は公衆及び私設クラウドネットワークなどのネットワーク１６へのアクセスを構成し、制御するためのソフトウェアを含む可能性がある。
【００８３】
マニューシャ更新収集８８プロセスは、コンピュータ産業界調査９０プロセスがシステム５００にとって有益と考え得るような情報を収集する。次いで、収集されたデータは、例えば、コンピュータ又はユーザデバイスの特定に関する分析のためにデータモデリング・ヒューリスティックス・順列９２プロセスに与えられる。データモデリング・ヒューリスティックス・順列９２プロセスは、履歴的なマニューシャの傾向及びデータマイニング９４、並びに現在のマニューシャＤＢ７０と、現在の予想されるマニューシャＤＢ９８と、その後の監査及びヒューリスティック分析のために、動的な鍵暗号プロバイダ１０によって実行されたアクション及び交換をログに残すことができるイベントログ１２とを考慮する。産業界の更新自体が、産業界の更新カタログＤＢ９６の１つのマニューシャの更新がその他の関連するマニューシャ値の予測される変化をトリガするようにグループ化され、関連付けられる可能性がある。例えば、オペレーティングシステムの産業界の更新が１５個のマニューシャ値を変更するように示され、（例えば、ビルド番号、ビルド名、サブシステムのバージョン、システムのサイズを含む）マニューシャ値がサービスユーザ２０の使用によって影響を受けない場合、これらのマニューシャ値は、データモデリング・ヒューリスティックス・順列９２プロセスで集合的にグループ化され、推測されるか、又は確認され得る。
【００８４】
その他の関連するマニューシャ値は、サービスユーザ２０の使用の結果として変わる可能性がある。これは、サービスユーザ２０の挙動のパターンと関連するが異なり、（コンピュータ１８に関連するマニューシャ値などの）マニューシャＤＢ７０のマニューシャ値は、（コンピュータ１８などの）マニューシャの挙動を定め、したがって、挙動のアルゴリズムが、マニューシャＤＢ７０の値に適用され得る。例えば、業務時間中にコンピュータ１８が「職場（ｗｏｒｋ）」環境にあるときに、コンピュータ１８が（雇用主によって提供される無線ＬＡＮなどの）安全な無線ＬＡＮに繰り返し接続する場合、このことは、安全な無線ＬＡＮによる（例えば、ＭＡＣアドレスの確認、ＷＥＰ鍵認証による）コンピュータ１８の第三者の信頼を示唆する可能性があり、「正常な」動作条件のもとで接続に失敗することは、失われたデバイス又は新しい仕事などの変化を示す可能性がある。別の例として、マニューシャＤＢ７０の値が、アドレス帳が時間の経過とともに着実にアドレスを追加して、数百名に達し、突然、アドレスの名前の数が８０になる場合、そのことは、新しいサービスユーザ２０による所有を示す可能性がある。
【００８５】
収集され、モデル化されたデータから、データモデリング・ヒューリスティックス・順列９２プロセスは、予想されるマニューシャＤＢ９８にあり得るマニューシャ値を記録する。予想されるマニューシャＤＢ９８に記憶されるデータは、迅速な派生の比較が検証され、確実性の尺度に対して採点され得るようにデータベース内の確率にしたがって管理され、順序付けられる産業界の更新カタログＤＢ９６及びマニューシャＤＢ７０の予め計算された組合せである。
【００８６】
例えば、コンピュータ産業界調査９０が保留中のオペレーティングシステムのリリースを発見するとき、マニューシャ更新収集８８プロセスが、例えば、やはり、適切なファームウェア製造業者８４から新しくリリースされたオペレーティングシステムのコピーを集める可能性がある。新しいオペレーティングシステムは、データモデリング・ヒューリスティックス・順列９２機能によって処理され、結果として得られるマニューシャが、システム５００による後の使用のために予想されるマニューシャＤＢ９８に記憶される。
【００８７】
予想されるマニューシャの別の例として、システムカウンタを表すマニューシャに関して、マニューシャＤＢ７０から収集されたカウンタ情報が、データモデリング・ヒューリスティックス・順列９２プロセスによって決定された許容される範囲内で増やされる可能性がある。次いで、許容される範囲内のすべてのカウンタ値が、予想されるマニューシャＤＢ９８に記憶される。
【００８８】
ほとんどの場合、データモデリング・ヒューリスティックス・順列９２プロセス及び履歴的なマニューシャの傾向及びデータマイニング９４プロセスが、予想されるマニューシャＤＢ９８に記憶された値に関連する確率及び確実性の採点を計算する。これらの確率及び確実性の採点値は、コンピュータの認証のための確実性の採点システムにおける決定要因である。
【００８９】
図６は、一実施形態による採点、確実性のランク付け、及びステップアップ処理のためのシステム６００を示す。図６は、マニューシャ確認の採点１４０を計算し、採点をサービスプロバイダ１４によって定義された閾値と比較し、所望の閾値を超えて採点を高くしようとしてＳＰステップアップ要求を処理１５０する追加のアクションを行うためのシステム６００を示す。
【００９０】
動的な鍵暗号プロバイダ１０は、マニューシャ確認の採点１４０のためのサブシステムを含む。マニューシャ確認の採点１４０サブシステムは、図２で定義されたサブシステム２００を使用して確認された応答を受信する。スコア計算１４４プロセスは、有効な応答ＤＢ１３０、ＳＰ情報及びＩＤ３２のデータ、イベントログ１２、並びに予想されるマニューシャＤＢ９８からのデータを使用して確認された応答で使用されるマニューシャ及びマニューシャ値のヒューリスティック及び確率的採点を計算する。有効な応答１３０データベースの情報は、コンピュータ１８のコンピュータマニューシャの現在の状態を表す情報と、産業界のソース及びサービスユーザ２０の基準（ｎｏｒｍ）からの予想されるマニューシャとの両方を含み、それらの両方が、前の図面、及びサービスプロバイダアプリ４４のサブシステム９００に関する図９に示される。
【００９１】
例えば、ハードウェアマニューシャの採点は、概して、ソフトウェアマニューシャの採点よりも高い可能性がある。また、予測されるように変化するファームウェアマニューシャ値は、より高い確実性の採点を有する可能性がある。同様に、予測されるように変化する（日付などの）ソフトウェアマニューシャは、応答の採点全体に肯定的な影響を与える可能性がある。
【００９２】
一部のマニューシャ値の変化は、おそらくは予想されていながら、応答の採点全体に否定的な影響を与える可能性がある。例えば、カウンタ値が異常に大きく飛ぶ場合、そのことは、採点に否定的な影響を与える。また、ファームウェアマニューシャ値が産業界の基準にしたがってルーチンの更新を反映しない場合、採点は否定的な影響を受ける可能性がある。加えて、広範なマニューシャを知られている出荷時設定値にリセットして戻すコンピュータのリセットが検出される場合、結果として得られるスコアがより低くなる可能性がある。
【００９３】
一部のマニューシャ自体は、異なるように採点される。例えば、特定のソフトウェアマニューシャは、その他のソフトウェアマニューシャよりもより予測精度が高く、有用である可能性がある。したがって、より好ましい１つのマニューシャ又は複数のマニューシャが使用されるとき、結果として得られる採点は、より望ましくないマニューシャを用いてなされた検証と比較されるとき、より高い可能性がある。
【００９４】
確認されるべきマニューシャの非常に多い数が原因で、別の採点の入力は、特定のマニューシャ値がコンピュータ１８とのチャレンジ及び応答の交換で最後に確認されてからの時間である可能性がある。
【００９５】
単一のコンピュータ１８の範囲外の情報が、採点に影響を与える可能性もある。コンピュータ１８のいくつかのインスタンスがマニューシャＤＢ７０で示されるように特定のサービスプロバイダ１４の単一のサービスユーザ２０に登録される場合、登録されたコンピュータ１８の大きな数は、特に、いくつかのコンピュータ１８のコンピュータが同等（例えば、１つのスマートフォン、１つのタブレット、及び１つのラップトップではなく３つのスマートフォン）であると考えられる場合、採点に否定的な影響を与える可能性がある。
【００９６】
スコア計算１４４が実行された後、結果として得られるスコアは、サービスプロバイダ１４によって定義された初期閾値と比較され、通常、サービスプロバイダ１４への初期接続中に送られる。計算されたスコア＞＝閾値１４２である場合、ＳＰへのスコア送信１４８プロセスが、さらに考慮するためにサービスプロバイダ１４にスコアを返すために使用される。
【００９７】
スコア＞＝閾値１４２が真でない場合、ＳＰステップアップ要求処理１５０が実行される。同様のＳＰセットアップ要求処理１５０が、サービスプロバイダ１４によって定義されたように、初期閾値又はそれよりも後の閾値が満たされない場合に実行される可能性があることに留意されたい。
【００９８】
ＳＰセットアップ要求処理１５０は、有効な応答及び閾値比較１５２を実行して、あり得る応答及び対応するスコアが閾値以上であるか否かを有効な応答１３０データベースからの情報を用いて判定する。プロセスは、最良の応答と、スコアを上げるステップアップ方法とを決定するユーザ影響ヒューリスティックス１５４プロセスによって管理される可能性がある。
【００９９】
いずれかのスコア＞＝閾値１５６が真である場合、選択されたマニューシャ要素使用１６８で定義された特定のマニューシャが、チャレンジを定式化１１６するために使用される可能性があり、システム６００は、図２に示されたシステム２００を使用し続ける。このように、サービスユーザ２０は、アクションを行う必要があることによって不便を被らない可能性がある。
【０１００】
現在のスコア＋２番目（２ｎｄ）＞＝閾値１５８が真である場合、３つの識別要素使用１７０プロセスは、コンピュータ１８を使用してサービスユーザ２０の秘密又はバイオメトリックマニューシャを収集するように動的な鍵暗号ライブラリ５６に指示するように動的な鍵暗号プロバイダ１０に要求する可能性がある。
【０１０１】
新しいスコア＋２番目＞＝閾値１６０である場合、新しい選択されたマニューシャのチャレンジのプロセスと３つの識別要素使用１７０プロセスとの両方がトリガされる可能性がある。
【０１０２】
新しい選択されたマニューシャのチャレンジがサービスプロバイダ１４によって要求された閾値以上のスコアを達成することができない場合、ＳＰへの確認失敗送信１６２プロセスが実行される。
【０１０３】
サービスプロバイダ１４は、動的な鍵暗号プロバイダ１０からマニューシャ確認の採点１４０からの採点を受信するとき、ステップ失敗１７２が発生したか否かを最初に判定する。その場合、動的な鍵暗号プロバイダ１０は、サービスプロバイダ１４によって望まれた閾値に適合することができない。そのとき、サービスプロバイダ１４は、例えば、サービス要求を拒否すること、又は図４に示されるように新しいコンピュータ１８の登録をトリガする可能性があるサービスユーザ２０のアウトオブバンド（ｏｕｔ−ｏｆ−ｂａｎｄ）の本人確認を行うことを含み得る確認失敗プロセス１８０でどのように応答すべきかを決定しなければならない。
【０１０４】
動的な鍵暗号プロバイダ１０からのスコアがステップ失敗１７２で決定されるステップアップ失敗ではない場合、ＳＰリスクプロセス１７４が、スコアを、サービスユーザ２０によって要求されたサービスアクションに関する独自のリスクテーブルと比較する。スコア＞＝閾値１４２である場合、ユーザアクション許可１８２が実行される可能性があり、コンピュータ１８及び任意的なサービスユーザ２０の確実性が、サービスプロバイダ１４が要求されたアクションを許可するのに十分である可能性がある。
【０１０５】
スコア＞＝閾値１４２が満たされない場合、動的な鍵暗号からのステップアップ認証要求１７８プロセスが、所望の閾値を超える採点を得るためにＳＰステップアップ要求処理１５０を実行するように動的な鍵暗号プロバイダ１０に要求する。
【０１０６】
図７は、一実施形態による認証システム７００を示す。図７は、コンピュータ１８上で見出されるか又はサービスユーザ２０から収集される３つの識別要素（持っているもの、知っていること、及び特徴）からのマニューシャをおそらく使用する動的な鍵暗号認証のためのシステム７００を示す。
【０１０７】
例えば、コンピュータ１８の特定に対する第２の識別要素としてＰＩＮ又はパスワードの入力が必要とされるとき、動的な鍵暗号プロバイダ１０は、コンピュータ１８にネイティブなサービスＰＩＮが使用されるのか、又はサービスプロバイダ１４に固有のＰＩＮが使用されるのかをＳＰ情報及びＩＤ３２データベースに記憶されたデータにしたがって判定するサービスＰＩＮ使用２５０の決定を行う可能性がある。サービスプロバイダ１４は、サービスＰＩＮの使用を命じるか、又はネイティブのコンピュータ１８のＰＩＮ（又はパスワード）が使用されることを命じるか若しくは許可することができる。
【０１０８】
動的な鍵暗号プロバイダ１０は、図２に示されたチャレンジプロセスによるサービスユーザ１０のＰＩＮ入力を要求する可能性がある。そのような場合、チャレンジ展開１０８プロセスが、鍵マニューシャ取り出し５８プロセスが、チャレンジのＰＩＮマニューシャ要求を決定し、真偽を判定するためにサービスＰＩＮ使用２５０を問い合わせることを可能にし得る。
【０１０９】
動的な鍵暗号プロバイダ１０は、コンピュータ１８（そのような機能が存在する場合）がシステムＰＩＮ２５６を表示すること、又はコンピュータ１８で実行される動的な鍵暗号ライブラリ５６がサービスＰＩＮ表示２５４入力プロセスを実行することのいずれかを要求することができる。
【０１１０】
サービスプロバイダ１４がコンピュータ１８にネイティブなＰＩＮを許し、コンピュータ１８がシステムＰＩＮを表示するプロセス２５６を実行することができる場合、システムＰＩＮ表示２５６プロセスと同様の（又は場合によっては同じ）コンピュータ１８のプロセスが、コンピュータ１８によって呼び出される。
【０１１１】
サービスＰＩＮ使用２５０がはいであるか、又はコンピュータ１８がシステムＰＩＮ表示２５６を遠隔で指示され得ない場合、動的な鍵暗号ライブラリ５６は、サービスＰＩＮ表示２５４入力プロセスを実行する。
【０１１２】
サービスＰＩＮ使用２５０が必要とされない場合、動的な鍵暗号ライブラリ５６は、システムＰＩＮ使用中２５２がはいであるか否かを判定する。システムＰＩＮ使用中２５２がはいである場合、コンピュータ１８ネイティブＰＩＮ（又はパスワード）画面が、例えば、コンピュータ１８が「タイムアウトした」かのようにシステムＰＩＮ表示２５６プロセスによって表示され、サービスユーザ２０が、サービスユーザ２０のＰＩＮを再入力するように促される。
【０１１３】
サービスＰＩＮ使用２５０がはいであるか、又はシステムＰＩＮ使用中２５２がいいえである場合、動的な鍵暗号ライブラリ５６は、サービスＰＩＮ表示２５４プロセスを実行し、カスタムＰＩＮ入力画面が示される。有効なＰＩＮは、サービスプロバイダ１４とサービスユーザ２０との間の事前に決定された数である可能性があり、又はインストール検査７６プロセス又は何らかのその他の登録プロセスの一部として図４のコンピュータシステム登録システムの間に設定される可能性がある。
【０１１４】
表示されるＰＩＮ画面にかかわらず、サービスユーザ２０は、サービスユーザ２０が保持する秘密及びバイオメトリックマニューシャ２６の情報を使用してコンピュータ１８にＰＩＮを入力する。システムＰＩＮ使用中２５２が真であるとき、ＰＩＮの確認がコンピュータ１８自体によって実行される。正しいＰＩＮが入力されるとき、動的な鍵暗号ライブラリ５６が、最後の成功したＰＩＮイベントからの時間取得２６０プロセスを実行し、動的な鍵暗号プロバイダ１０に対する有効な最後のＰＩＮ入力からの新しい時間を返す可能性がある。このように、サービスユーザ２０は、サービスユーザ２０がデバイスを所有していることを示すために複数のＰＩＮを入力するか又は同じＰＩＮを複数回入力する必要がない可能性があり、システムＰＩＮが、コンピュータ１８で実行されるすべての保護されるサービスプロバイダアプリ４４のための共通のＰＩＮとして働く。サービスＰＩＮ使用２５０が真であるとき、動的な鍵暗号ライブラリ５６は、サービスユーザ２０によってコンピュータ１８に入力されたＰＩＮ値を使用して実際の応答を計算１０６し、次いで、実際の応答が、図２に示された確認のために動的な鍵暗号プロバイダ１０に返される。
【０１１５】
有効なＰＩＮ入力が行われない場合、動的な鍵暗号ライブラリ５６はタイムアウトし、動的な鍵暗号プロバイダ１０に失敗を返す可能性がある。
【０１１６】
別の例において、鍵マニューシャ取り出し５８プロセスは、バイオメトリック要求処理２６２を引き起こす可能性がある。そのような場合、バイオメトリックマニューシャ取得２６４プロセスは、コンピュータ１８とインタラクションして、コンピュータ１８への入力によってサービスユーザ２０から秘密及びバイオメトリックマニューシャ２６データを収集する。次いで、バイオメトリックマニューシャ値が、実際の応答を計算１０６するために使用される可能性があり、実際の応答は、それから、図２に示された確認のために動的な鍵暗号プロバイダに返される。
【０１１７】
さらに別の例において、鍵マニューシャ取り出し５８プロセスは、デジタル署名２５８が要求されると判定し、乱数に関するメッセージハッシュ置き換え２４２プロセスによってデジタル署名を実行する。このように、（取引のレシート（ｔｒａｎｓａｃｔｉｏｎ  ｒｅｃｅｉｐｔ）又はその他のサマリなどの）アクションのハッシュ又はダイジェストが、実際の応答計算１０６プロセスを使用して鍵マニューシャ取り出し５８プロセスによって返されたマニューシャによって署名される可能性がある。鍵マニューシャ取り出し５８プロセスは、３つの識別の要素（「持っているもの」、「知っていること」、及び「特徴」、例えば、それぞれ、コンピュータ１８、サービスユーザ２０が知っているか若しくは示す秘密、又は（秘密及びバイオメトリックマニューシャ２６）からの）バイオメトリックマニューシャのいずれか又はすべてを包含する任意の数のマニューシャ値を取り出すことができる。
【０１１８】
例示的な例として、デジタル署名を形成するために、メッセージの内容が、メッセージの内容に対する変更が異なるハッシュを形成し、メッセージに対するあらゆる変更が明らかになるようにハッシュされ得る。次いで、ハッシュは、署名が実行され、複数のマニューシャ値が署名がいつ行われたかを集合的に確認し得る、署名が実行されたコンピュータ１８を定める比較的安定したマニューシャ（例えば、ハードウェアマニューシャ）、ジオロケーションマニューシャ、及び速く変化するマニューシャ（例えば、データ、カウンタ）を含む、署名が行われたコンピュータ１８を表すマニューシャを含む動的な暗号鍵を用いて「署名される」（暗号化される）可能性がある。加えて、署名する動的な暗号鍵を形成するために使用されるマニューシャは、誰がダイジェストをデジタル署名したかを定めるために、サービスユーザ２０のみが知っているべき秘密（例えば、ＰＩＮ）、及びサービスユーザ２０のみが生成し得るバイオメトリックマニューシャ（例えば、顔の形状）を含む可能性がある。このように、動的な暗号鍵は、機器、場所、時間、及び人を特定のメッセージに結びつけることができる。したがって、非常に広範なマニューシャ（単一の３つ組ではなく、潜在的に数十又はさらには数百のマニューシャ値）が、動的な署名鍵で使用され得る。さらに、コンピュータ１８の挙動の軌跡が、実行されたデジタル署名に信頼性を与えるために署名の前後で考慮される可能性がある。
【０１１９】
図８は、一実施形態によるデータ保護セキュリティ機能に関するアプリケーションの処理のためのシステム８００を示す。図８は、サービスプロバイダアプリ４４と動的な鍵暗号ライブラリ５６との間のインタラクションを処理して、コンピュータ１８で実行される間に両方のセキュリティを改善するためのシステム８００を示す。
【０１２０】
コンピュータ１８に、サービスプロバイダ１４に対して一意である可能性がある動的な鍵暗号ライブラリ５６を含むサービスプロバイダアプリ４４がインストールされた可能性がある。動的な鍵暗号ライブラリ５６は、動的な鍵暗号プロバイダ１０からの応答を処理してハートビート及びチャター１９４を確立し、場合によっては、ハートビートがない２１０ときにコンピュータからサービス削除２３６の自動消滅をトリガし、ハートビート及びチャター１９４システム呼び出しを通じて動的な鍵暗号ライブラリ５６の活動をランダム化するか又は分かりにくくして扱いに注意を要するアクションを傍受することを難しくすることができる。
【０１２１】
動的な鍵暗号ライブラリ５６は、サービスプロバイダアプリ４４による呼び出し、又は動的な鍵暗号プロバイダ１０による呼び出しのいずれかに直接応答して動的な鍵暗号ライブラリ５６の活動の一部を実行する。コンピュータマニューシャ６４をランダム化し、分かりにくくし、サンプリングするために、動的な鍵暗号ライブラリ５６は、サービスプロバイダアプリ４４がアイドルし、サービスユーザ２０又はその他の外部ドライバのいずれかからの応答を待つ間にタスクを実行することができ、これは、イベントループでの待機と呼ばれることが多い。
【０１２２】
サービスプロバイダアプリ４４は、暗号化されたサービスデータ１９６でコンピュータ１８にサービスプロバイダ１４及びサービスユーザ２０のデータを安全に非公開で記憶するためにデータを暗号化及び復号１９０することができる。データ暗号化及び復号１９０プロセスが、サービス鍵マニューシャ選択６６データベースを使用して、コンピュータ１８上で見出されたコンピュータマニューシャ６４から鍵マニューシャ取り出し５８プロセスがどのマニューシャを取り出すべきかを決定する可能性があり、又は鍵マニューシャ取り出し５８が、動的な鍵暗号プロバイダ１０から命令を受信する可能性がある。
【０１２３】
このように、データ暗号化及び復号１９０プロセスは、データの暗号化及び復号に使用される鍵を実際には記憶しない可能性があり、鍵は、コンピュータマニューシャ６４から必要に応じて計算される。したがって、暗号化されたサービスプロバイダ１４のデータ及びサービスユーザ２０のデータは、暗号化されたサービスデータ１９６データベースに記憶されるとき、同じコンピュータマニューシャ６４がコンピュータ１８に存在しない限り復号され得ない。サービスプロバイダアプリ４４又は暗号化されたサービスデータ１９６（又はそれら両方）をコピーすることは、暗号化されたサービスデータ１９６の復号を可能にしない。
【０１２４】
データ暗号化及び復号１９０によって処理されるべき暗号化されたデータは、ネットワーク１６を介してサービスプロバイダ１４からコンピュータ１８に安全に送信されるか、サービスユーザ２０によってコンピュータ１８に入力されるか、又はサービスプロバイダアプリ４４若しくは動的な鍵暗号ライブラリ５６によってコンピュータ１８のローカルで生成される可能性がある。暗号化されたサービスデータ１９６がサービスプロバイダアプリ４４又は動的な鍵暗号ライブラリ５６によって追加又は変更される場合、サービスプロバイダ１４は、ネットワーク１６を用いたコンピュータ１８とサービスプロバイダ１４との間の安全な通信を介して暗号化されたサービスデータ１９６によって更新される可能性がある。データ暗号化及び復号１９０プロセスは、概してネットワーク１６上を通過中のデータではなく、コンピュータ１８に留まっているデータに対して機能するように意図される。しかしながら、コンピュータ１８上で見出されるコンピュータマニューシャ６４に基づく同じ鍵生成プロセスが、多くの種類のデータ保護のために使用される可能性がある。
【０１２５】
動的な鍵暗号ライブラリ５６は、データ暗号化及び復号１９０を用いるローカルコンピュータ検査１９２がコンピュータマニューシャ６４をランダムに確認することを可能にする可能性もある。このように、ランダムなデータが暗号化され、コンピュータマニューシャ６４がまだ有効であり、したがって、サービスプロバイダアプリ４４が意図されるコンピュータ１８で実行されていることを検証するために後で復号される可能性がある。同様の検証が、図２に示されたチャレンジ、応答、及び確認システム２００を用いて動的な鍵暗号プロバイダ１０によって行われ得る。
【０１２６】
コンピュータマニューシャ６４は、正常な使用によって時間とともに変わるマニューシャを含む可能性があるので、データ暗号化及び復号１９０は、それらの変化の後、失敗する可能性がある。システムの耐障害性のために、データ暗号化及び復号１９０は、広い範囲のあり得るコンピュータマニューシャ６４からの複数のサブセットを使用してデータを処理する可能性がある。このように、データ暗号化及び復号１９０は、非常に広範囲のコンピュータマニューシャ６４に基づいて暗号化されたデータのいくつかの異なるコピーを計算する可能性がある。単一の平文のソースに基づく暗号化の異なるインスタンスの数は、各サービスプロバイダ１４のためにカスタマイズ可能である動的な鍵暗号ライブラリ５６によって制御され得る。
【０１２７】
平文データを暗号化するとき、データ暗号化及び復号１９０プロセスは、動的な鍵暗号ライブラリ５６によって制御されるように、鍵マニューシャ取り出し５８プロセスを必要とされる回数使用する。鍵マニューシャ取り出し５８が実行されるたびに、対応するマニューシャインデックスがサービス鍵マニューシャ選択６６から読まれ、結果として得られるコンピュータマニューシャ６４が読まれる。サービス鍵マニューシャ選択６６は、例えば、コンピュータ１８のローカルに記憶されるか、コンピュータ１８のセキュアエレメントに記憶されるか、又は動的な鍵暗号プロバイダ１０のデータに記憶され、図２に示されたチャレンジ、応答、及び確認システム２００を使用して指示される可能性がある。鍵マニューシャ取り出し５８のそれぞれの応答は、平文データを暗号化するためにデータ暗号化及び復号１９０プロセスによってハッシュされ、使用される１組のマニューシャ値を含み、暗号化された結果を暗号化されたサービスデータ１９６に記憶する。したがって、同じ平文の複数の暗号化が、暗号化されたサービスデータ１９６データベースに記憶され得る。
【０１２８】
データ暗号化及び復号１９０プロセスでデータを復号しようとするとき、鍵マニューシャ取り出し５８プロセスは、サービス鍵マニューシャ選択６６を決定し、次いで、コンピュータマニューシャ６４から関連するマニューシャを取り出す際に同じ論理に従う。鍵マニューシャ取り出し５８がデータ暗号化及び復号１９０にマニューシャ値を返すとき、データ暗号化及び復号１９０は、暗号化されたサービスデータ１９６から暗号化された値を取得し、マニューシャ値のハッシュを使用して情報を復号する。
【０１２９】
データ暗号化及び復号１９０によって実行された復号が平文を適切に復号しない場合−有効な復号２０２の判定においてチェックサムの何らかの手段、知られている平文のテスト、又はその他の手段によって判定される−、費やされた再試行２０６の回数が比較される。平文のさらなる暗号化されたインスタンスが存在する場合、サービス鍵マニューシャ選択６６を使用して、そのときコンピュータマニューシャ６４の情報から取得されるマニューシャ値の別のサブセットをインデックス付けする鍵マニューシャ取り出し５８の次の組が実行される。
【０１３０】
鍵マニューシャ取り出し５８、有効な復号２０２、及び費やされた再試行２０６のこのループは、データの有効な復号が行われるか、又は再試行がもはや残っていなくなるまで実行される。費やされた再試行２０６がデータの有効な復号が行われる前に真を返す場合、システムが失敗し、図４に示されるようにコンピュータ１８の再登録をトリガするか、又は暗号化が行われたときに使用された元のマニューシャ値が動的な鍵暗号プロバイダ１０から動的な鍵暗号ライブラリ５６に返される可能性がある。
【０１３１】
有効な復号２０２が見出された場合、データ暗号化及び復号１９０は、平文を適切に復号することに失敗したあらゆるマニューシャに対してＤＫＣＰとのマニューシャの同期２０１を実行することができる。ＤＫＣＰとのマニューシャの同期２０１が実行されるとき、変更されたマニューシャの選択がサービス鍵マニューシャ選択６６からインデックス付けされ、変更されたマニューシャがコンピュータマニューシャ６４から読まれ、更新されたマニューシャ値をマニューシャＤＢ７０に記憶する動的な鍵暗号プロバイダ１０にネットワーク１６を介して安全に送信するために動的な鍵暗号ライブラリ５６に与えられる。
【０１３２】
ＤＫＣＰとのマニューシャの同期２０１プロセスは、コンピュータマニューシャ６４内に見出される新しいマニューシャを用いて失敗した復号を再建算するためにデータ暗号化及び復号１９０プロセスを要求するライブラリストレージ更新２０８機能を実行する可能性もある。
【０１３３】
動的な鍵暗号ライブラリ５６がコンピュータ１８のコンピュータマニューシャを更新するために動的な鍵暗号プロバイダ１０に接続するとき、動的な鍵暗号プロバイダ１０は、あたかもコンピュータ１８がサービスプロバイダ１４に接続しているかのように認証を実行する。
【０１３４】
動的な鍵暗号ライブラリ５６は、例えば、１）コンピュータ１８でランダムな活動を実行し、２）動的な鍵暗号ライブラリ５６と動的な鍵暗号プロバイダ１０との間のハートビートとして機能し、３）意味のあるアクションを不明瞭にし、分かりにくくすることができるハートビート及びチャター１９４プロセスも有する可能性がある。
【０１３５】
ハートビート及びチャター１９４プロセスは、動的な鍵暗号プロバイダ１０によって送信されたチャレンジを使用して応答プロセス１１２を周期的に実行することができる。動的な鍵暗号プロバイダ１０は、後の処理のために動的な鍵暗号ライブラリ５６にいくつかのチャレンジを送信し得ることを思い出されたい。（図２に示された）このような具合に、マニューシャ値が、コンピュータ１８と動的な鍵暗号プロバイダ１０との間で推測され、更新され得る。
【０１３６】
この又は同様のプロセスは、コンピュータ１８と動的な鍵暗号プロバイダ１０との間のハートビートとして働く可能性もある。ハートビート及びチャター１９４プロセスは、サービスプロバイダ１４によって定義され、動的な鍵暗号ライブラリ５６のサービスプロバイダ１４のカスタマイズされたバージョンに記憶された時間枠内で有効なチャレンジ及び応答サイクルを実行しない場合、ハートビートなし２１０の決定に示されるように、図８に示されたコンピュータからサービス削除２３６プロセスを呼び出す可能性がある。
【０１３７】
ハートビート及びチャター１９４プロセスは、コンピュータマニューシャ６４のランダムなマニューシャの読取り値を周期的に取り出して２０４、コンピュータ１８でなされるシステム呼び出しをリッスンするあらゆる悪意のある者に対して広い検索空間を利用することもできる。ハートビート及びチャター１９４は、ローカルコンピュータ検査１９２プロセスをランダムに呼び出すこともできる。
【０１３８】
ハートビート及びチャター１９４は、セキュリティを向上させ、極めて重要なアクションを分かりにくくするためにこれらの機能のすべてを実行することができる。ハートビート及びチャター１９４は、性能に影響を与えないようにサービスプロバイダアプリ４４のイベントループの間に最も多く呼び出される可能性がある。ハートビート及びチャター１９４は、バッテリー電力、ネットワーク帯域幅、又はその他のシステムリソースを過剰に使用しないようにインテリジェントである可能性もある。
【０１３９】
図９は、一実施形態によるサービスプロバイダに対するコンピュータ識別プロバイダライフサイクル機能及びサービスを示す。図９は、サービスを削除し、１つのコンピュータ１８から新しいコンピュータ２２０にサービスを移すことと、サービスプロバイダシステム１４に新しいコンピュータ２２０を知らせることとを含む、サービスプロバイダ１４及びコンピュータ１８のライフサイクルの管理のためのシステム９００を示す。
【０１４０】
サービス移動２２６プロセスは、１）新しいコンピュータ２２０がコンピュータ１８に対するあり得る置き換えとして検出される、２）サービスユーザ２０がサービスプロバイダ１４にサービスの移動を要求する、３）トリガ１又はトリガ２のいずれかへの反応がその他のサービスプロバイダ２３０にそれらのその他のサービスプロバイダ２３０のサービスプロバイダアプリ４４を先回りして移動させるなどのいくつかのイベントによってトリガされる可能性がある。
【０１４１】
新しいコンピュータ２２０が図４に示された登録システム４００を実行するとき、動的な鍵暗号プロバイダ１０がサービスプロバイダ１４によって与えられたアカウント識別子が同様のコンピュータ１８（例えば、第２のスマートフォン）によって既に使用中であることを発見する場合、サービス移動２３８メッセージが、登録プロセスの一部として追加される可能性がある。必要とされる場合、サービスユーザ２０が、サービスユーザ２０の古いコンピュータ１８からサービスを移動することに同意し、次いで、動的な鍵暗号プロバイダ１０が、サービス移動２２６プロセスを実行することができる。
【０１４２】
サービスユーザ２０がサービスプロバイダ１４にサービスユーザ２０のコンピュータ１８が紛失、盗難、交換、又は何らかのその他のイベントのためにもはや有効でないことを知らせるとき、サービスプロバイダ１４は、動的な鍵暗号プロバイダ１０にサービスの保留・削除・移動を行うように要求２３２することができる。
【０１４３】
サービス移動２２６プロセスが実行されるとき、動的な鍵暗号プロバイダ１０は、その特定のコンピュータ１８に登録されたアカウント識別子を有するその他のサービスプロバイダ２３０に通知するその他のサービスプロバイダへの通知２２８プロセスを実行する可能性がある。通知すると、動的な鍵暗号プロバイダ１０は、アクションの有効性を測るために、開始サービスプロバイダ１４のＳＰ情報及びＩＤ３２データベースの情報に基づくＳＰ確実性の採点２４０を共有する可能性がある。その他のサービスプロバイダ２３０は、それらのその他のサービスプロバイダ２３０の判断で、サービス保留２２２、サービス移動２２６、サービス削除２２４を実行するように、又はアクションを何も行わないようにさえも動的な鍵暗号プロバイダ１０に指示する可能性がある。
【０１４４】
その他のサービスプロバイダへの通知２２８プロセスは、コンピュータ１８をサービスプロバイダ１４にリンクするための最小限の量のサービスプロバイダ１４の情報のみ−サービスプロバイダ１４へのポインタ及びサービスユーザ２０のアカウント識別子など−を記憶し、サービスユーザ２０の個人の特定可能な情報は、動的な鍵暗号プロバイダ１０によって記憶又はログに記録されない可能性がある。
【０１４５】
サービス保留２２２に関して、動的な鍵暗号プロバイダ１０は、確認失敗プロセス１８０が行われるようにし、最終的に、サービスプロバイダ１４のカスタマーサービス活動によるサービスユーザ２０への連絡を促す可能性がある、保留されるコンピュータ１８に関するＳＰへの確認失敗送信１６２を送信することができるようにマニューシャＤＢ７０を更新する可能性がある。
【０１４６】
サービス削除２２４に関して、動的な鍵暗号プロバイダ１０は、目標のコンピュータ１８で実行される動的な鍵暗号ライブラリ５６に、暗号化されたサービスデータ１９６と、存在するならばサービス鍵マニューシャ選択６６とを完全に消去するように命令し、データストアが消去されるときに確認消去受信及び暗号化データ送信（ｓｅｎｄ  ｒｅｃｅｉｐｔ  ａｎｄ  ｅｎｃｒｙｐｔｅｄ  ｄａｔａ）２３４を送信する可能性がある。受信及び暗号化データ送信２３４が送信された後、動的な鍵暗号ライブラリ５６は、必要に応じてサービスプロバイダアプリ４４を削除することによって自動消滅する可能性がある。
【０１４７】
サービス移動２２６に関して、サービス削除２２４が、古いコンピュータ１８に影響を与えるために呼び出される。次いで、図３に示されたサービスプロバイダアプリ配信システム３００が、実行される。その後、図４のコンピュータシステム登録システムが、次いで、古いコンピュータ１８から新しいコンピュータ２２０にサービスを完全に移すために実行され得る。サービス及びユーザデータ２４の再ロードが、図８に示されるようにやはり実行される可能性があり、新しいコンピュータ２２０上で見出されるコンピュータマニューシャ６４に対してデータが暗号化される。
【０１４８】
サービス削除２２４とサービス移動２２６との両方が、マニューシャＤＢ７０に古いコンピュータ１８の廃止を反映させる。古いコンピュータ１８のマニューシャデータは、そのマニューシャデータがその他のサービスプロバイダ２３０のために認識され得るように、又はコンピュータ１８が悪意を持ってか、又はコンピュータ１８を別のサービスユーザ２０に与えるか若しくは売るなどのその他のイベントを通じてかのいずれかで新しい登録を実行する場合、マニューシャＤＢ７０から削除されない。
【０１４９】
さまざまな代替的な実施形態があり得る。例えば、１つの代替的な実施形態において、動的な鍵暗号プロバイダ１０は、サービスプロバイダシステム１４の階層的なエコシステム（ｅｃｏｓｙｓｔｅｍ）をサポートする多層分散モデルである可能性がある。このように、エコシステムを統括する動的な鍵暗号プロバイダ１０が、マニューシャＤＢ７０内のマニューシャを解決して、サービスプロバイダ１４の別々のインスタンスが同じコンピュータ１８を参照していると判定する。これは、動的な鍵暗号プロバイダ１０が独自のエコシステムで図９に示されたコンピュータ識別プロバイダライフサイクル機能を実行することを可能にする。最上位層の動的な鍵暗号プロバイダ１０のみが、コンピュータ１８からの絶対的なマニューシャ値を解決することができる。特定のデータが、図９に示されたライフサイクル機能を容易にするために下位層の動的な鍵暗号プロバイダ１０からマスタの動的な鍵暗号プロバイダ１０にエクスポートされる必要がある。
【０１５０】
さまざまな実施形態において、動的な鍵暗号プロバイダ１０の一部は、特定のサービスプロバイダ１４のためにデータ所有を可能にするようにオンサイト（ｏｎｓｉｔｅ）で実行されるように設計され得る。特定のデータが、図９に示されたライフサイクル機能を容易にするためにオンサイトの動的な鍵暗号プロバイダ１０からマスタの動的な鍵暗号プロバイダ１０にエクスポートされる必要がある。
【０１５１】
また、例えば、動的な鍵暗号ライブラリ５６は、いかなる場合もサービスプロバイダアプリ４４に含まれる必要がない。サービスプロバイダ１４の一部のインスタンスは、コンピュータ１８で追加のアプリケーションコードを必要としない可能性があり、又はそれらのインスタンスのサービスポータルとしてウェブブラウザを使用する可能性がある。この場合、動的な鍵暗号ライブラリ５６は、依然としてコンピュータ１８に存在するが、コンピュータ１８のためのスタンドアロンの呼び出し可能なルーチン又は共有リソースである可能性がある。動的な鍵暗号ライブラリ５６が共有リソースである場合、図８に示された特定のアプリケーション処理機能は、例えば、同じサービスプロバイダ１４及び暗号化されたサービスデータ１９６の分離を実現するために動的な鍵暗号ライブラリ５６内で区分される可能性がある。
【０１５２】
別の例において、サービスプロバイダ１４は、サービスプロバイダアプリ４４のインターフェースを介さずに動的な鍵暗号ライブラリ５６に直接システム呼び出しを行う能力を有する可能性もある。
【０１５３】
別の例において、サービスプロバイダアプリ４４は、動的な鍵暗号ライブラリ５６と直接通信しない可能性がありサービスプロバイダアプリ４４及び動的な鍵暗号ライブラリ５６とそれぞれ独立して通信するサービスプロバイダ１４と動的な鍵暗号プロバイダ１０との間の交換によって通信が実行される可能性がある。
【０１５４】
別の例においては、チャレンジが、サービスプロバイダアプリ４４のより速い起動及びオフライン処理を容易にするためにコンピュータ１８に記憶される可能性がある。
【０１５５】
別の例においては、コンピュータ１８のマニューシャの変則性が、コンピュータマルウェア又はその他の異常な処理の考慮事項を検出するために使用される可能性もある。
【０１５６】
別の例においては、システム２００で示されたチャレンジ、応答、及び確認が、コンピュータ１８から生じ、サービスプロバイダ１４の認証及び保護されたデータ交換のために有用である可能性があり、このことは、相互認証を可能にし、システムに有益である。
【０１５７】
別の例において、動的な鍵暗号システムは、コンテンツのデジタル著作権管理を容易にすることができ、コンテンツが、特にコンピュータ１８からのコンピュータマニューシャ６４を使用することによって特定のコンピュータ１８でのみ復号される可能性があり、コンテンツが、特定のユーザが秘密及びバイオメトリックマニューシャ２６を入力するときに特定のユーザによる視聴のためにのみ復号される可能性がある。
【０１５８】
別の例において、予想されるマニューシャＤＢ９８は、例えば、音声及び顔認識などのバイオメトリックマニューシャに関してサービスユーザ２０の成熟及び加齢に対応するために秘密及びバイオメトリックマニューシャ２６からのバイオメトリックマニューシャをモデル化するために拡張される可能性がある。
【０１５９】
別の例においては、ネットワーク１６に接続することができるコンピュータ１８のいくつかの形態、例えば、マシンツーマシンシステムは、サービスユーザ２０のインタラクションのために設計されない可能性がある。実施形態は、−コンピュータ１８以外の特定すべきもの存在するので−この場合もやはり極めて有用である可能性があるが、秘密及びバイオメトリックマニューシャの機能は適用されない可能性がある。
【０１６０】
さまざまな実施形態において、データ暗号化及び復号１９０プロセスは、概して、コンピュータ１８のローカルの暗号化されたサービスデータ１９６データベースに記憶されたサービス及びユーザデータ１９８に対して機能する。しかしながら、別の代替的な実施形態においては、同じ暗号化鍵の処理が、サービス及びユーザデータ１９８がネットワーク１６を介して移動されるときにサービス及びユーザデータ１９８を守るために使用される可能性がある。同様に、動的な鍵暗号プロバイダ１０によって維持されるマニューシャＤＢ７０が、コンピュータ１８から受信されるときにサービス及びユーザデータ１９８を復号するために使用され得る。
【０１６１】
さまざまな実施形態の実装は、従来型のＰＣ、非従来型のＰＣ（すなわち、スマートフォン、スマートタブレット）、特定用途向けネットワークコンピュータ（すなわち、スマートメータ、ネットワーク機器、家電製品）、及びユーザインターフェースを持たないコンピュータ（すなわち、マシンツーマシン機能）を含むがこれらに限定されないインターネット又はその他のネットワークに接続するコンピュータ及びネットワークに接続するコンピュータを含み得る。さまざまな実施形態は、ネットワークに接続するコンピュータを特定することと、広域ネットワークに同時に接続するか又は接続しない互いに接続するコンピュータを特定することと、オンラインサービスへのコンピュータの接続を認証することと、オンラインサービスに対してユーザを認証することと、コンピュータに記憶された情報を暗号化することとを含む可能性がある。
【０１６２】
さまざまな実施形態の実装において、本発明の実施形態は、パーソナルコンピュータ、ラップトップ、ＰＤＡ、セルラ電話、又はその他のパーソナルコンピューティング若しくは通信デバイスなどのパーソナルコンピューティングデバイスを含み得る。決済プロバイダシステムは、決済プロバイダシステムによって提供される決済サービスを提供するためのコンピュータシステム又はネットワークを定義するために組み合わされる１つのサーバ若しくは複数のサーバ、コンピュータ、又はプロセッサなどのネットワークコンピューティングコンピュータを備える可能性がある。
【０１６３】
これに関連して、コンピュータシステムは、処理構成要素（例えば、プロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）など）、システムメモリ構成要素（例えば、ＲＡＭ）、静的なストレージ構成要素（例えば、ＲＯＭ）、ディスクドライブ構成要素（例えば、磁気式若しくは光学式）、ネットワークインターフェース構成要素（例えば、モデム若しくはイーサネット（登録商標）カード）、表示構成要素（例えば、ＣＲＴ若しくはＬＣＤ）、入力構成要素（例えば、キーボード若しくはキーパッド）、及び／又はカーソル制御構成要素（例えば、マウス若しくはトラックボール）などのサブシステム及び構成要素を相互接続するバス又は情報を伝達するためのその他の通信機構を含む可能性がある。一実施形態において、ディスクドライブ構成要素は、１つ又は複数のディスクドライブ構成要素を有するデータベースを含む可能性がある。
【０１６４】
コンピュータシステムは、システムメモリ構成要素に含まれる１つ又は複数の命令の１つ又は複数のシーケンスを実行する、プロセッサによる特定の動作を実行する可能性がある。そのような命令は、静的なストレージ構成要素又はディスクドライブ構成要素などの別のコンピュータ可読媒体からシステムメモリ構成要素に読み込まれる可能性がある。その他の実施形態においては、配線された回路が、実施形態を実装するためにソフトウェア命令の代わりに又はソフトウェア命令と組み合わせて使用される可能性がある。
【０１６５】
論理が、実行するためにプロセッサに命令を与えることに関与する任意の媒体を指す可能性があるコンピュータ可読及び実行可能媒体で符号化される可能性がある。そのような媒体は、不揮発性媒体、揮発性媒体、及び送信媒体を含むがそれらに限定されない多くの形態をとる可能性がある。一実施形態において、コンピュータ可読媒体は非一時的である。さまざまな実装において、不揮発性媒体は、ディスクドライブ構成要素などの光又は磁気ディスクを含み、揮発性媒体は、システムメモリ構成要素などの動的なメモリを含み、送信メディアは、同軸ケーブル、銅線、及び光ファイバを含み、バスを含む配線を含む。一例において、送信媒体は、電波及び赤外線データ通信中に生成される音波又は光波の形態をとる可能性がある。
【０１６６】
コンピュータ可読及び実行可能媒体の一部のよくある形態は、例えば、フロッピーディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープ、任意のその他の磁気式媒体、ＣＤ−ＲＯＭ、任意のその他の光学式媒体、パンチカード、紙テープ、穴のパターンを用いる任意のその他の物理的媒体、ＲＡＭ、ＲＯＭ、Ｅ２ＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、任意のその他のメモリチップ若しくはカートリッジ、搬送波、又はコンピュータが適合される任意のその他の媒体を含む。
【０１６７】
さまざまな実施形態において、本発明を実施するための命令シーケンスの実行は、コンピュータシステムによって行われ得る。さまざまなその他の実施形態においては、通信リンク（例えば、ＬＡＮ、ＷＬＡＮ、ＰＴＳＮ、又はさまざまなその他の有線若しくは無線ネットワーク）によって結合された複数のコンピュータシステムが、互いに協調して本発明を実施する命令シーケンスを実行する可能性がある。
【０１６８】
コンピュータシステムは、通信リンク及び通信インターフェースを通じて１つ又は複数のプログラム（すなわち、アプリケーションコード）を含むメッセージ、データ、情報、及び命令を送受信する可能性がある。受信されたプログラムコードは、実行のために受信され及び／又はディスクドライブ構成要素若しくは何らかのその他の不揮発性ストレージ構成要素に記憶されるとき、プロセッサによって実行され得る。
【０１６９】
適用可能な場合、本開示によって提供されるさまざまな実施形態は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せを用いて実装される可能性がある。また、適用可能な場合、本明細書において説明されたさまざまなハードウェア構成要素及び／又はソフトウェア構成要素は、本開示の精神を逸脱することなくソフトウェア、ハードウェア、及び／又はそれら両方を含む複合的な構成要素へ組み合わされ得る。適用可能な場合、本明細書において説明されたさまざまなハードウェア構成要素及び／又はソフトウェア構成要素は、本開示の範囲を逸脱することなくソフトウェア、ハードウェア、又はそれら両方を含む下位構成要素へ分けられ得る。加えて、適用可能な場合、ソフトウェア構成要素はハードウェア構成要素として実装される可能性があり、その逆の可能性もある−例えば、仮想的な実装又は論理ハードウェア実装−と考えられる。
【０１７０】
プログラムコード及び／又はデータなどの、本開示によるソフトウェアは、１つ又は複数のコンピュータ可読及び実行可能媒体に記憶され得る。本明細書において特定されたソフトウェアは、ネットワーク接続された及び／又はそれ以外の１つ又は複数の多目的又は専用コンピュータ及び／又はコンピュータシステムを用いて実装され得るとも考えられる。適用可能な場合、本明細書において説明されたさまざまなステップの順序づけは、本明細書において説明された特徴を提供するために変更され、複合的なステップへ組み合わされる、及び／又は下位ステップへ分けられる可能性がある。
【０１７１】
以上の開示は、開示された厳密な形態又は特定の使用分野に本発明を限定しようとするものではない。さまざまな代替的な実施形態又は本発明に対する修正が、本明細書において明示的に説明されたか又は暗に示されたかに関わらず本開示に照らしてあり得ると考えられる。このように本開示のさまざまな例示的な実施形態について説明したが、当業者は、本発明の範囲を逸脱することなく形式上の詳細の変更がなされ得ることを認めるであろう。したがって、本発明は、特許請求の範囲によってのみ限定される。
【図１】
0006489328.tif 000002
【図２Ａ】
0006489328.tif 000003
【図２Ｂ】
0006489328.tif 000004
【図３】
0006489328.tif 000005
【図４】
0006489328.tif 000006
【図５】
0006489328.tif 000007
【図６Ａ】
0006489328.tif 000008
【図６Ｂ】
0006489328.tif 000009
【図７】
0006489328.tif 000010
【図８】
0006489328.tif 000011
【図９】
0006489328.tif 000012