(57)【特許請求の範囲】
【請求項１】
アプリケーションへの許可されていないアクセスのリスクを低減するために改善されたＯＴＰを生成するためにクライアント装置によって実行される方法であって、
サーバーによって、
暗号ＯＴＰデータを改善されたＯＴＰから検索し、
リスク情報データを前記改善されたＯＴＰから検索し、
前記検索された暗号ＯＴＰデータを暗号論的に検証し、前記検索された暗号ＯＴＰデータの前記暗号論的な検証は、
ダイナミック変数の第２の値を決定し、
前記第２の値を使用し且つ暗号シークレットのコピーでパラメータ化される対称的な暗号アルゴリズムを使用して前記第２の値を前記暗号シークレットのコピーと暗号論的に合成し、
前記検索された暗号ＯＴＰデータを、前記第２の値と前記暗号シークレットの前記コピーとの前記暗号論的な合成の結果と比較する
ことを含み、
前記検索されたリスク情報データを使用して第２のリスク分析を遂行し、及び
前記検索された暗号ＯＴＰデータの前記暗号論的検証及び前記第２のリスク分析の結果を使用して前記改善されたＯＴＰに対する全リスクレベルを決定する、
ことによって前記改善されたＯＴＰが確認される、方法において、
第１のリスク分析を遂行し、前記第１のリスク分析の遂行は、１つ以上のリスクファクタの各々に対してリスク評価を行うことを含み、
前記第１のリスク分析の結果を表わすリスク情報データを生成し、前記リスク情報データの生成は、前記１つ以上のリスクファクタの全ての前記リスク評価の結果を合成することを含み、前記リスク情報データのビット数は１２以下であり、
ダイナミック変数の第１の値を決定し、
前記ダイナミック変数の前記第１の値を暗号シークレットと暗号論的に合成することにより暗号ＯＴＰデータを生成し、及び
前記暗号ＯＴＰデータを前記リスク情報データと合成することにより前記改善されたＯＴＰを得る、
という段階を含む、方法。
【請求項２】
前記第１のリスク分析は、前記１つ以上のリスクファクタを１つ以上のリスクファクタカテゴリにグループ化し、そして前記１つ以上のリスクファクタカテゴリの各々に対して、その対応するリスクファクタカテゴリの全てのリスクファクタの前記リスク評価の結果を使用してリスク評価カテゴリスコアを決定することを含み、そしてリスク情報データの前記生成は、前記１つ以上のリスクファクタカテゴリのリスク評価カテゴリスコアを合成することを含む、請求項１に記載の方法。
【請求項３】
前記１つ以上のリスクファクタカテゴリの各リスク評価カテゴリスコアは、ビットストリングとして表わされ、そしてリスク情報データの前記生成は、前記１つ以上のリスクファクタカテゴリの前記リスク評価カテゴリスコアを表す種々のビットストリングのビットをリスク情報ビットストリングへと連結することを含み、そして前記リスク情報データは、前記リスク情報ビットストリングの表示を含む、請求項２に記載の方法。
【請求項４】
前記第１のリスク分析は、前記アプリケーションのユーザにより動作されるクライアント装置において実行され、そして前記１つ以上のリスクファクタカテゴリは、
クライアント装置それ自体の特性に関連した全てのリスクファクタをグループ化するプラットホームリスクファクタカテゴリ、
ユーザの特性及びユーザの振舞いの特性に関連した全てのリスクファクタをグループ化するユーザリスクファクタカテゴリ、又は
クライアント装置が動作している状況又は環境の特性に関連した全てのリスクファクタをグループ化する状況リスクファクタカテゴリ、
の少なくとも１つを含む、請求項２に記載の方法。
【請求項５】
前記１つ以上のリスクファクタカテゴリは、前記プラットホームリスクファクタカテゴリ、前記ユーザリスクファクタカテゴリ及び前記状況リスクファクタカテゴリの３つすべてを含む、請求項４に記載の方法。
【請求項６】
前記暗号ＯＴＰデータの前記生成は、前記リスク情報データ及び前記ダイナミック変数の前記第１の値を暗号シークレットと暗号論的に合成することを含む、請求項１に記載の方法。
【請求項７】
前記ダイナミック変数の前記第１の値と前記暗号シークレットとの前記暗号論的合成は、前記暗号シークレットでパラメータ化された前記ダイナミック変数の値を対称的暗号アルゴリズムに適用することを含む、請求項１に記載の方法。
【請求項８】
前記対称的暗号アルゴリズムは、前記リスク情報データも使用する、請求項７に記載の方法。
【請求項９】
前記ダイナミック変数は、時間ベースである、請求項１に記載の方法。
【請求項１０】
前記ダイナミック変数は、カウンタベースである、請求項１に記載の方法。
【請求項１１】
前記ダイナミック変数は、チャレンジベースである、請求項１に記載の方法。
【請求項１２】
前記暗号ＯＴＰデータを前記リスク情報データと合成することによって前記改善されたＯＴＰを得ることは、前記リスク情報データ及び前記暗号ＯＴＰデータの一部分を使用して前記リスク情報データのマスクされた表示を生成し、及び前記暗号ＯＴＰデータをリスク情報データの前記マスクされた表示と合成することを含む、請求項１に記載の方法。
【請求項１３】
アプリケーションへの許可されていないアクセスのリスクを低減するために改善されたＯＴＰを確認するためのサーバーによって実行される方法であって、前記改善されたＯＴＰは、
クライアント装置によって、
第１のリスク分析を遂行し、前記第１のリスク分析の遂行は、１つ以上のリスクファクタの各々に対してリスク評価を行うことを含み、
前記第１のリスク分析の結果を表わすリスク情報データを生成し、前記リスク情報データの生成は、前記１つ以上のリスクファクタの全ての前記リスク評価の結果を合成することを含み、前記リスク情報データのビット数は１２以下であり、
ダイナミック変数の第１の値を決定し、
前記ダイナミック変数の前記第１の値を暗号シークレットと暗号論的に合成することにより暗号ＯＴＰデータを生成し、及び
前記暗号ＯＴＰデータを前記リスク情報データと合成することにより前記改善されたＯＴＰを得る、
ことにより生成される方法において、
前記暗号ＯＴＰデータを前記改善されたＯＴＰから検索し、
前記リスク情報データを前記改善されたＯＴＰから検索し、
前記検索された暗号ＯＴＰデータを暗号論的に検証し、前記検索された暗号ＯＴＰデータの前記暗号論的な検証は、
前記ダイナミック変数の第２の値を決定し、
前記第２の値を使用し且つ前記暗号シークレットのコピーでパラメータ化される対称的な暗号アルゴリズムを使用して前記第２の値を前記暗号シークレットのコピーと暗号論的に合成し、
前記検索された暗号ＯＴＰデータを、前記第２の値と前記暗号シークレットの前記コピーとの前記暗号論的な合成の結果と比較する
ことを含み、
前記検索されたリスク情報データを使用して第２のリスク分析を遂行し、及び
前記検索された暗号ＯＴＰデータの前記暗号論的検証及び前記第２のリスク分析の結果を使用して前記改善されたＯＴＰに対する全リスクレベルを決定する、
という段階を含む方法。
【請求項１４】
前記改善されたＯＴＰは、前記リスク情報データのマスクされた表示を含み、前記リスク情報データの検索は、前記検索された暗号ＯＴＰデータの部分を使用して、前記リスク情報データの前記マスクされた表示をアンマスクすることを含む、請求項１３に記載の方法。
【請求項１５】
前記対称的な暗号アルゴリズムは、前記検索されたリスク情報データも使用する、請求項１３に記載の方法。
【請求項１６】
アプリケーションへの許可されていないアクセスのリスクを低減するために前記アプリケーションのユーザと前記アプリケーションとの対話をセキュアなものにする方法であって、そして更に、ユーザに関連したクライアント装置と対話する方法において、
クライアント装置で第１のリスク分析を遂行し、前記第１のリスク分析の遂行は、１つ以上のリスクファクタの各々に対してリスク評価を行うことを含み、
クライアント装置で前記第１のリスク分析の結果を表わすリスク情報データを生成し、  クライアント装置でダイナミック変数の第１の値を決定し、前記リスク情報データの生成は、前記１つ以上のリスクファクタの全ての前記リスク評価の結果を合成することを含み、前記リスク情報データのビット数は１２以下であり、
クライアント装置で前記ダイナミック変数の前記第１の値を暗号シークレットと暗号論的に合成することにより暗号ＯＴＰデータを生成し、
クライアント装置で前記暗号ＯＴＰデータを前記リスク情報データと合成することにより改善されたＯＴＰを生成し、
クライアント装置で前記改善されたＯＴＰを前記ユーザに提示し、
サーバーで前記改善されたＯＴＰから前記暗号ＯＴＰデータを検索し、
サーバーで前記改善されたＯＴＰから前記リスク情報データを検索し、
サーバーで前記検索された暗号ＯＴＰデータを暗号論的に検証し、
サーバーで前記検索されたリスク情報データを使用して第２のリスク分析を遂行し、
サーバーで前記検索された暗号ＯＴＰデータの前記暗号検証及び前記第２のリスク分析の結果を使用して前記改善されたＯＴＰの全リスクレベルを決定し、及び
サーバーで前記全リスクレベルの値に基づきあるアクションを遂行すべきか否か判断する、
という段階を含む方法。
【請求項１７】
前記アクションは、前記ユーザにアクセスを与えることを含む、請求項１６に記載の方法。
【請求項１８】
前記アクションは、ある許可を前記ユーザに与えることを含む、請求項１６に記載の方法。
【請求項１９】
前記アクションは、前記ユーザにより要求されるトランザクションを遂行することを含む、請求項１６に記載の方法。
【請求項２０】
アプリケーションへの許可されていないアクセスのリスクを低減するために前記アプリケーションのユーザと前記アプリケーションとの間の対話をセキュアなものにするシステムにおいて、
前記ユーザにより動作され且つユーザ出力インターフェイスを含むクライアント装置、  ユーザ入力インターフェイスを含みそして前記ユーザと対話し且つ前記ユーザが前記アプリケーションと対話するのを許すアクセス装置、及び
前記アプリケーションをホストするアプリケーションサーバーであって、該アプリケーションサーバー及び前記アクセス装置が物理的に異なるコンピュータである場合にはコンピュータネットワークを経て前記アクセス装置と通信するアプリケーションサーバー、
を備え、前記クライアント装置は、
第１のリスク分析を遂行し、前記第１のリスク分析の遂行は、１つ以上のリスクファクタの各々に対してリスク評価を行うことを含み、
前記第１のリスク分析の結果を表わすリスク情報データを生成し、前記リスク情報データの生成は、前記１つ以上のリスクファクタの全ての前記リスク評価の結果を合成することを含み、前記リスク情報データのビット数は１２以下であり、
ダイナミック変数の第１の値を決定し、
前記ダイナミック変数の前記第１の値を前記クライアント装置に記憶された暗号シークレットと暗号論的に合成することにより暗号ＯＴＰデータを生成し、
前記暗号ＯＴＰデータを前記リスク情報データと合成することにより改善されたＯＴＰを生成し、及び
前記ユーザ出力インターフェイスを使用して前記改善されたＯＴＰを前記ユーザに提示する、
ように適応され、前記アクセス装置は、
前記ユーザ入力インターフェイスを使用して、クライアント装置によりユーザに提示された前記改善されたＯＴＰを受け取る、
ように適応され、及び前記アプリケーションサーバーは、
前記暗号ＯＴＰデータを前記改善されたＯＴＰから検索し、
前記リスク情報データを前記改善されたＯＴＰから検索し、
前記検索された暗号ＯＴＰデータを暗号論的に検証し、
前記検索されたリスク情報データを使用して第２のリスク分析を遂行し、
前記検索された暗号ＯＴＰデータの前記暗号論的検証及び前記第２のリスク分析の結果を使用して前記改善されたＯＴＰに対する全リスクレベルを決定し、及び
前記全リスクレベルに基づいてあるアクションを遂行すべきかどうか判断する、
ように適応される、システム。
【請求項２１】
前記クライアント装置は、パーソナルテレコミュニケーション装置を含む、請求項２０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照：本願は、２０１３年１２月３１日に出願された“A method and apparatus for providing client-side score-based authentication”と題する米国プロビジョナル特許出願第６１／９２２，５１６号の優先権を主張するもので、その内容は、参考としてここに全体的に援用される。
【０００２】
本発明は、コンピュータネットワークを経てコンピュータ及びアプリケーション並びにリモートトランザクションへのリモートアクセスをセキュアなものにすることに関する。より詳細には、本発明は、ユーザを認証するための方法及び装置に関する。
【背景技術】
【０００３】
コンピュータシステム及びアプリケーションのリモートアクセスの人気が高まるにつれて、インターネットのようなパブリックネットワークを経てリモートアクセスされるトランザクションの数及び多様性が急激に増加した。この人気は、特に、アプリケーションにリモートアクセスする人々は誰が誰に請求をするのかをどのように保証するか、リモート実行されているトランザクションが正当な個人により開始されたことをどのように保証するか、及びトランザクションデータがアプリケーションサーバーに受け取られる前に変更されていないことをどのように保証するか、といったセキュリティの必要性を強調している。
【０００４】
過去において、アプリケーションプロバイダーは、リモートアプリケーションのセキュリティを与えるためにスタティックパスワードに依存している。近年では、スタティックパスワードは充分なものでなく、より進歩したセキュリティ技術が要求されることが分かっている。
【０００５】
１つの解決策では、ユーザがスタティックパスワードに代って（又はそれに加えて）アプリケーションへ通すダイナミックパスワードが生成される。このダイナミックパスワードは、一方のクライアント側装置と他方のサーバー側検証エンティティとの間で共有される暗号シークレットとダイナミック変数を暗号論的に合成することによりクライアント側で生成される。ダイナミック変数とは、時間ベースの値、カウンタベースの値、チャレンジ（例えば、アプリケーションサーバーにより与えられる）、又はユーザがアプリケーションサーバーへ提出することを希望するトランザクションを表わすトランザクションデータ、或いはそれらの組み合わせである。ダイナミック変数は、例えば、対称的な暗号アルゴリズムを、共有暗号シークレットでパラメータ化されたダイナミック変数に適用することにより、共融暗号シークレットと暗号論的に合成することができる。例えば、ダイナミック変数は、ＡＥＳ（進歩型暗号規格）のような対称的暗号アルゴリズム又はダイナミック変数の連結を使用して暗号化することができ、そして共有シークレットは、ＳＨＡ−１（セキュアハッシュアルゴリズム１）のようなハッシュアルゴリズムによりハッシュすることができる。多くの場合、それにより得られる暗号が切頭され、次いで、キャラクタのストリングへと変換される。このキャラクタのストリングは、一回限りのパスワード又はＯＴＰと称されるが、ユーザが手動でコピーしそしてアプリケーションへ転送するためにユーザに表示される。ダイナミック変数がチャレンジに基づく場合、キャラクタのストリングは応答と称される。又、ダイナミック変数がチャレンジに基づく場合、キャラクタのストリングは、トランザクションデータにわたるシグネチャと考えられる。以下、ＯＴＰという語は、そのような応答又はシグネチャを指すものとする。ＯＴＰは、ユーザによりしばしば手動でコピーされるので、それらは、典型的に、短く保持され、通常、それらが作られた暗号より短い。アプリケーションサーバー側では、受け取られたＯＴＰを検証することができる。これは、典型的に、ＯＴＰに対する予想基準値を生成し、そして受け取られたＯＴＰをその生成された基準値と比較することで行われる。ＯＴＰを生成するためのクライアント装置は、専用のハードウェア認証トークンを、それら自身の表示と共に、及び時には、ＰＩＮ（パーソナル識別番号）を入力するためのキーパッドと共に含むか、或いは例えば、専用のハードウェア認証トークンをエミュレートするために認証ソフトウェアを実行するスマートホンのような汎用コンピューティング装置を含む。
【発明の概要】
【０００６】
本発明は、一回限りのパスワードに基づく解決策の全セキュリティレベルが、一回限りのパスワードが生成された環境、プラットホーム及び状況に依存し、且つＯＴＰの有効性を検証するサーバーが、全セキュリティレベルに影響する環境及び状況を考慮せずにその照合されたＯＴＰが暗号論的に正しいか否かを指示するバイナリ結果だけを示す、という本発明者の見識に基づく。例えば、スマートホンのソフトウェア認証アプリケーションがハッキングされるリスクは、専用のハードウェア認証トークンよりも著しく高い。ＯＴＰを生成するクライアント装置が、ＯＴＰ生成時に、ユーザの母国とは完全に異なる国に位置する場合には、これは、何かが間違っているという指示でもある。
【０００７】
更に、本発明は、サーバーが、ＯＴＰの生成を取り巻く状況及び環境に関する情報を考慮できる場合でも、実際には、サーバーがこの情報を得ることが困難であるか又は不可能でもある、という本発明者の別の見識にも基づく。特に、サーバーが、クライアント装置それ自体にリンクされた位置情報を得ることは、非常に困難である。というのは、多くの場合、クライアント装置とサーバーとの間の唯一の通信チャンネルは、クライアント装置とサーバーとの間でユーザがデータを手動でコピーすることだからである。便宜上の理由で、ユーザがサーバーからトークンへ及びトークンからサーバーへ手動で転送しなければならない情報の量は、厳密に最小に限定されねばならない。
【０００８】
本発明の１つの観点は、改善された一回限りのパスワード（ＯＴＰ）を生成する方法を提供することである。ある実施形態において、この方法は、第１のリスク分析を遂行し；この第１のリスク分析の結果を表わすリスク情報データを生成し；ダイナミック変数の第１の値を決定し；前記ダイナミック変数の前記第１の値を暗号シークレットと暗号論的に合成することにより暗号ＯＴＰデータを生成し；及び前記暗号ＯＴＰデータを前記リスク情報データと合成することにより前記改善されたＯＴＰを得る；という段階を含む。
【０００９】
ある実施形態において、この方法は、前記第１のリスク分析の遂行が、１つ以上のリスクファクタの各々に対してリスク評価を行うことを含む以前の実施形態のいずれかの方法である。ある実施形態において、前記リスク情報データの生成は、前記１つ以上のリスクファクタの全ての前記リスク評価の結果を合成することを含む。ある実施形態において、前記第１のリスク分析は、前記１つ以上のリスクファクタを１つ以上のリスクファクタカテゴリにグループ化し、そして前記１つ以上のリスクファクタカテゴリの各々に対して、その対応するリスクファクタカテゴリの全てのリスクファクタの前記リスク評価の結果を使用してリスク評価カテゴリスコアを決定することを含み、そしてリスク情報データの前記生成は、前記１つ以上のリスクファクタカテゴリのリスク評価カテゴリスコアを合成することを含む。ある実施形態において、各リスク評価カテゴリスコアは、ビットストリングとして表わされ、そしてリスク情報データの前記生成は、前記１つ以上のリスクファクタカテゴリに対応する種々のビットストリングのビットをリスク情報ビットストリングへと連結することを含み、そして前記リスク情報データは、前記リスク情報ビットストリングの表示を含む。ある実施形態では、前記第１のリスク分析は、ユーザにより動作されるクライアント装置において実行され、前記１つ以上のリスクファクタカテゴリは、クライアント装置それ自体の特性に関連した全てのリスクファクタをグループ化するプラットホームリスクファクタカテゴリ；ユーザの特性及びユーザの振舞いの特性に関連した全てのリスクファクタをグループ化するユーザリスクファクタカテゴリ；又はクライアント装置が動作している状況又は環境の特性に関連した全てのリスクファクタをグループ化する状況リスクファクタカテゴリ；の少なくとも１つを含む。ある実施形態において、１つ以上のリスクファクタカテゴリは、プラットホームリスクカテゴリ、ユーザリスクファクタカテゴリ及び状況リスクファクタカテゴリの３つ全部を含む。
【００１０】
ある実施形態において、前記暗号ＯＴＰデータの生成は、リスク情報データ及びダイナミック変数の第１の値を暗号シークレットと暗号論的に合成することを含む。ある実施形態において、前記ダイナミック変数の前記第１の値と前記暗号シークレットとの暗号論的合成は、前記ダイナミック変数の前記値を使用し且つ前記暗号シークレットでパラメータ化される暗号アルゴリズムを遂行することを含む。ある実施形態において、暗号アルゴリズムは、対称的暗号アルゴリズムであり、そして暗号シークレットは、改善されたＯＴＰを検証又は確認するように適応されるエンティティと共有される。対称的暗号アルゴリズムは、例えば、ＡＥＳ（進歩型暗号規格）のような対称的暗号化又は解読アルゴリズム、或いはＨＭＡＣ（ハッシュベースのメッセージ認証コード）のようなキー付きハッシュアルゴリズムを含む。ある実施形態では、対称的暗号アルゴリズムは、リスク情報データも使用する。
【００１１】
ある実施形態において、ダイナミック変数は、時間ベースである。例えば、ダイナミック変数は、改善されたＯＴＰを生成するクライアント装置に含まれたクロックの値を含む。ある実施形態において、ダイナミック変数は、例えば、クライアント装置に記憶されそして維持されるカウンタをベースとする。ある実施形態において、ダイナミック変数は、例えば、ユーザが対話するアプリケーションによって与えられるチャレンジをベースとする。ある実施形態において、ダイナミック変数は、ユーザがアプリケーションへ提出し且つ改善されたＯＴＰに関連したトランザクション要求を表わすデータをベースとする。
【００１２】
ある実施形態において、暗号ＯＴＰデータをリスク情報データと合成することによって前記改善されたＯＴＰを得ることは、リスク情報データ及び暗号ＯＴＰデータの一部分を使用してリスク情報データのマスクされた表示を生成し、そしてその暗号ＯＴＰデータをリスク情報データのマスクされた表示と合成することを含む。
【００１３】
ある実施形態において、上述した実施形態の幾つかの又は全てのステップは、クライアント装置において遂行される。ある実施形態において、クライアント装置は、スマートホン又はタブレットのようなパーソナルテレコミュニケーション装置を含む。ある実施形態において、クライアント装置は、改善されたＯＴＰを生成する前記方法の幾つかの又は全てのステップを遂行する認証クライアントアプリケーション又は認証クライアントａｐｐを実行する。
【００１４】
本発明の別の観点は、改善されたＯＴＰを確認する方法を提供することである。ある実施形態において、改善されたＯＴＰを生成する方法の前記いずれかの実施形態の方法を使用して改善されたＯＴＰが生成される。ある実施形態において、第１のリスク分析を遂行し、この第１のリスク分析の結果を表わすリスク情報データを生成し、ダイナミック変数の第１の値を決定し、前記ダイナミック変数の前記第１の値を暗号シークレットと暗号論的に合成することにより暗号ＯＴＰデータを生成し、及び前記暗号ＯＴＰデータを前記リスク情報データと合成することにより前記改善されたＯＴＰを得る、ことにより、改善されたＯＴＰが生成される。ある実施形態において、この方法は、前記暗号データを前記改善されたＯＴＰから検索し；前記リスク情報データを前記改善されたＯＴＰから検索し；前記検索された暗号データを暗号論的に検証し；前記検索されたリスク情報データを使用して第２のリスク分析を遂行し；及び前記検索された暗号データの前記暗号論的検証及び前記第２のリスク分析の結果を使用して前記改善されたＯＴＰに対する全リスクレベルを決定する；という段階を含む。
【００１５】
ある実施形態において、前記改善されたＯＴＰは、前記リスク情報データのマスクされた表示を含み、前記リスク情報データの検索は、前記検索された暗号データの部分を使用して、前記リスク情報データの前記マスクされた表示をアンマスクすることを含む。
【００１６】
ある実施形態において、前記検索された暗号データの暗号論的な検証は、ダイナミック変数の第１の値と同じ値を有すると仮定するダイナミック変数の第２の値を決定し、及びその第２の値を使用し且つ前記暗号シークレットのコピーでパラメータ化される対称的な暗号アルゴリズムを使用してその第２の値を前記暗号シークレットのコピーと暗号論的に合成する、ことを含む。ある実施形態において、前記対称的な暗号アルゴリズムは、検索されたリスク情報データも使用する。ある実施形態において、前記検索された暗号データの前記暗号論的な検証は、前記検索された暗号データを、前記第２の値と前記暗号シークレットのコピーとの前記暗号論的な合成の結果と比較することを含む。
【００１７】
本発明の更に別の観点は、ユーザとアプリケーションとの対話をセキュアなものにする方法であって、ユーザがアクセス装置と対話してアプリケーションにアクセスし、そして更に、ユーザに関連したクライアント装置と対話する方法を提供することである。ある実施形態において、この方法は、例えば、クライアント装置で改善されたＯＴＰを生成し、そして例えば、確認又は検証サーバーでその改善されたＯＴＰを確認することを含む。ある実施形態において、改善されたＯＴＰは、上述した改善されたＯＴＰを生成する方法のいずれかを使用して生成される。ある実施形態において、改善されたＯＴＰは、上述した改善されたＯＴＰを確認する方法のいずれかを使用して確認される。ある実施形態において、この方法は、例えば、クライアント装置で、第１のリスク分析を遂行し；例えば、クライアント装置で、前記第１のリスク分析の結果を表わすリスク情報データを生成し；例えば、クライアント装置で、ダイナミック変数の第１の値を決定し；例えば、クライアント装置で、前記ダイナミック変数の前記第１の値を暗号シークレットと暗号論的に合成することにより暗号ＯＴＰデータを生成し；例えば、クライアント装置で、前記暗号ＯＴＰデータを前記リスク情報データと合成することにより改善されたＯＴＰを生成し；例えば、クライアント装置で、前記改善されたＯＴＰを前記ユーザに提示し；例えば、アクセス装置で、ユーザに提示された前記改善されたＯＴＰを受け取り；例えば、確認又は検証又はアプリケーションサーバーで、前記改善されたＯＴＰから前記暗号データを検索し；例えば、確認又は検証又はアプリケーションサーバーで、前記改善されたＯＴＰから前記リスク情報データを検索し；例えば、確認又は検証又はアプリケーションサーバーで、前記検索された暗号データを暗号論的に検証し；例えば、確認又は検証又はアプリケーションサーバーで、前記検索されたリスク情報データを使用して第２のリスク分析を遂行し；例えば、確認又は検証又はアプリケーションサーバーで、前記検索された暗号データの前記暗号検証及び前記第２のリスク分析の結果を使用して前記改善されたＯＴＰの全リスクレベルを決定し；及び例えば、確認又は検証又はアプリケーションサーバーで、前記全リスクレベルの値に基づきあるアクションを遂行すべきか否か決定する；という段階を含む。
【００１８】
ある実施形態において、第２のリスク分析は、前記ユーザと前記アプリケーションとの他の対話に関連した情報を使用することも含む。ある実施形態において、第２のリスク分析は、前記ユーザ以外の他のユーザと前記アプリケーションとの他の対話に関連した情報を使用することも含む。
【００１９】
ある実施形態において、前記アクションは、例えば、あるリソースへのアクセスを前記ユーザにグラントすることを含む。ある実施形態において、前記アクションは、ユーザをログインすることを含む。ある実施形態において、前記アクションは、例えば、あるアクション又はトランザクションを遂行するためのある許可をユーザにグラントすることを含む。ある実施形態において、前記アクションは、前記ユーザにより要求されるトランザクションを遂行することを含む。ある実施形態において、改善されたＯＴＰは、ユーザにより要求されたトランザクションに関連付けられる。ある実施形態において、改善されたＯＴＰは、トランザクション要求と共に、アプリケーションに与えられる。
【００２０】
本発明の更に別の観点は、ユーザとアプリケーションとの間の対話をセキュアなものにするシステムを提供することである。ある実施形態において、このシステムは、上述した改善されたＯＴＰを生成するいずれかの方法に使用するように適応される。ある実施形態において、このシステムは、上述した改善されたＯＴＰを確認するいずれかの方法に使用するように適応される。ある実施形態において、このシステムは、上述したユーザとアプリケーションとの対話をセキュアなものにするいずれかの方法に使用するように適応される。
【００２１】
ある実施形態において、このシステムは、ユーザにより動作されそしてユーザ出力インターフェイス（ディスプレイのような）を含むクライアント装置；ユーザ入力インターフェイス（キーボードのような）を含みそしてユーザと対話し且つユーザがアプリケーションと対話するのを許すアクセス装置；及びアプリケーションをホストするアプリケーションサーバー；を備えている。ある実施形態において、アクセス装置及びアプリケーションサーバーは、物理的に異なるコンピュータで構成され、そしてアクセス装置及びアプリケーションサーバーは、コンピュータネットワークを経て通信するように適応される。コンピュータネットワークは、ローカルエリアネットワーク、ワイドエリアネットワークを備え、そしてインターネットを含む。
【００２２】
ある実施形態において、クライアント装置は、第１のリスク分析を遂行し；前記第１のリスク分析の結果を表わすリスク情報データを生成し；ダイナミック変数の第１の値を決定し；前記ダイナミック変数の前記第１の値を前記クライアント装置に記憶された暗号シークレットと暗号論的に合成することにより暗号ＯＴＰデータを生成し；前記暗号ＯＴＰデータを前記リスク情報データと合成することにより前記改善されたＯＴＰを生成し；及び前記ユーザ出力インターフェイスを使用して前記改善されたＯＴＰを前記ユーザに提示する；ように適応される。ある実施形態において、クライアント装置は、スマートホンのようなパーソナルテレコミュニケーション装置を含む。ある実施形態において、クライアント装置は、（例えば、この説明のどこかで述べる改善されたＯＴＰを生成するいずれかの方法により）改善されたＯＴＰを生成するクライアント認証アプリケーション又はクライアント認証ａｐｐを実行するように適応される。
【００２３】
ある実施形態において、アクセス装置は、前記ユーザ入力インターフェイスを使用して、クライアント装置によりユーザに提示された改善されたＯＴＰを受け取るように適応される。ある実施形態において、アクセス装置は、更に、改善されたＯＴＰをアプリケーションサーバーへ転送するように適応される。ある実施形態において、アクセス装置は、例えば、インターネットに接続できるラップトップ又はパーソナルコンピュータ（ＰＣ）を含む。ある実施形態において、アクセス装置は、ユーザをウェブサーバーに接続し、そしてウェブサーバーによりホストされるアプリケーションに含まれるウェブアプリケーションと対話するのを許すためにウェブブラウザを実行する。
【００２４】
ある実施形態において、アプリケーションサーバーは、前記暗号データを前記改善されたＯＴＰから検索し；前記リスク情報データを前記改善されたＯＴＰから検索し；前記検索された暗号データを暗号論的に検証し；前記検索されたリスク情報データを使用して第２のリスク分析を遂行し；前記検索された暗号データの前記暗号論的検証及び前記第２のリスク分析の結果を使用して前記改善されたＯＴＰに対する全リスクレベルを決定し；及び前記全リスクレベルに基づいてあるアクションを遂行すべきかどうか判断する；ように適応される。ある実施形態において、アプリケーションサーバーは、１つ以上のサーバーコンピュータを含む。ある実施形態において、アプリケーションサーバーに含まれるコンピュータは、コンピュータネットワーク（例えば、ローカルエリアネットワーク、ワイドエリアネットワーク又はインターネット）により接続される。ある実施形態において、アプリケーションサーバーは、アプリケーションのサーバー部分をホストする。ある実施形態において、アプリケーションサーバーは、インターネットに接続される。ある実施形態において、アプリケーションサーバー及びアクセス装置は、インターネットにより接続される。ある実施形態において、アプリケーションは、アプリケーションサーバーによってホストされたウェブベースアプリケーションを含む。
【００２５】
クライアント側リスク分析
【００２６】
本発明のある実施形態において、クライアント装置は、ローカルリスクファクタに関する情報、例えば、クライアント装置が実施されるプラットホームに関する情報、クライアント装置が動作する状況に関する情報、及びクライアント装置を動作するユーザに関する情報を収集するように構成される。ある実施形態において、クライアント装置は、このリスクファクタ関連情報を少数のビットへと凝縮する。
【００２７】
ある実施形態において、クライアント装置は、ローカルリスクファクタに関する情報を収集しそして第１のクライアント側リスク分析を遂行するように構成される。ある実施形態において、凝縮されたリスクファクタ関連情報（以下、短縮してリスク情報ビットと称される）を表わすビットは、この第１のクライアント側リスク分析の結果を含む。
【００２８】
ある実施形態において、クライアント装置は、リスクファクタの各セットに対してスコアを決定する。ある実施形態において、クライアント装置は、個別リスクファクタの種々のスコアを単一の全体的リスク分析スコアへと合成する。ある実施形態において、種々のスコアは、ブール値及び／又は数値で表わされる。ある実施形態において、クライアント装置は、論理的ルール、ブール関数及び／又は数学的関数を、合成されるスコアに適用することにより、スコアを合成する。
【００２９】
ある実施形態において、種々のリスクファクタは、多数の個別のリスクファクタカテゴリにグループ化される。ある実施形態において、クライアント装置は、そのカテゴリの全てのリスクファクタのスコアを合成することにより各カテゴリのスコアを決定する。ある実施形態において、クライアント装置は、異なるカテゴリのスコアを単一の全体的スコアへと合成する。ある実施形態において、クライアント装置は、１つのリスクファクタカテゴリしか使用しない。ある実施形態において、リスク情報ビットは、この全体的スコアのバイナリ表示を含む。ある実施形態において、リスク情報ビットは、種々のリスクファクタカテゴリのスコアのバイナリ表示の連結を含む。
【００３０】
例えば、ある実施形態において、クライアント装置は、プラットホーム関連のリスクファクタカテゴリ（プラットホームカテゴリ）、ユーザ関連のリスクファクタカテゴリ（ユーザカテゴリ）、及び／又は状況関連のリスクファクタカテゴリ（状況カテゴリ）を含む多数のリスクファクタカテゴリにおいてリスクファクタをグループ化する。
【００３１】
プラットホームカテゴリは、クライアント装置が実施されたプラットホームに関連した全てのリスクファクタを含む。例えば、このカテゴリにおける１つのリスクファクタは、クライアント装置が、例えば、スマートホンにおける専用のハードウェアトークンであるか又はソフトウェアアプリケーションであるかを指示する。このカテゴリにおける別のリスクファクタは、ウィルス検出器及び／又はファイアウオールの有無（及びタイプ）によって決定される。更に別のリスクファクタは、そのようなウィルスチェッカーの検出ログを考慮することにより決定される。プラットホームカテゴリの更に別のリスクファクタは、オペレーティングシステム及び／又はブラウザソフトウェアのタイプを考慮する。
【００３２】
ユーザカテゴリは、クライアント装置を動作するユーザに関連した全てのリスクファクタを含む。例えば、ある実施形態において、クライアント装置は、ユーザのある生物測定学的特徴（指紋、虹彩スキャン、音声特性又は顔特性のような）の測定値を捕獲しそしてその測定値を基準テンプレートと比較する生物測定学的コンポーネントを有する。生物測定学的リスクファクタのスコアは、例えば、測定値が基準テンプレートに一致する程度を指示する。別の生物測定学的リスクファクタは、生物測定学的測定値が偽造又は回避されるリスクを指示する。例えば、クライアント装置は、最近の生物測定学的測定値を記憶しそしてリプレイアタックを検出する（例えば、音声記録又は顔の絵を使用することにより）ように適応され、そして１つの生物測定学的リスクファクタが、生物測定学的測定値が実際にリプレイアタックに対応する確率を指示する。ある実施形態において、クライアント装置は、ユーザからＰＩＮ又はパスワードを受け取るように適応され、そして受け取ったＰＩＮ又はパスワードを記憶された基準値と比較するように適応される。クライアント装置は、ユーザが間違ったＰＩＮ又はパスワードを入力した場合には、ある回数の再試みを許すように適応される。そのような場合に、ユーザカテゴリのリスクファクタは、ユーザが正しいＰＩＮ又はパスワードを入力するに必要な実際の試み数を考慮する（従って、正しいＰＩＮ又はパスワードが最初の試みで入力されなかった事実は、誰かがＰＩＮ又はパスワードを推定したことを示す）。ユーザカテゴリの別のリスクファクタは、ユーザの振舞いに関連し（例えば、どのアプリケーションにユーザがどんな順序で且つどんな頻度でアクセスするか、ユーザが入力インターフェイスをどのように使用するか、等）、そしてこのリスクファクタのスコアは、この振舞いの分析により決定される。例えば、ある実施形態において、クライアント装置は、ユーザからＰＩＮ又はパスワードを受け取るように適応される。クライアント装置は、ユーザがＰＩＮ又はパスワードの個別の数字又はキャラクタを入力するパターンを分析するように適応される。例えば、クライアント装置は、ユーザがＰＩＮ又はパスワードの連続する数字又はキャラクタを入力することに関連した一連の時間差を測定する。特定ユーザについて、この一連の時間差が平均的にもつパターンは、特定ユーザごとに多少の特徴がある。別のユーザが同じＰＩＮ又はパスワードを入力した場合には、それにより生じる一連の時間差が最初のユーザの平均的パターンから著しく外れる結果となる。クライアント装置は、特定のＰＩＮ又はパスワード入力に対する所与の一連の時間差がＰＩＮ又はパスワード入力に対する時間差のユーザ平均パターンから外れる程度の関数として、リスクファクタスコアを決定する。例えば、外れる程度が大きいほど、クライアント装置がこのリスクファクタに指定するスコアが大きくなる。
【００３３】
状況カテゴリは、クライアント装置が動作されるローカルな状況に関連した全てのリスクファクタを含む。例えば、ある実施形態において、クライアント装置は、クライアント装置の任意の時間における地理的位置の指示を与えることのできるジオロケーションコンポーネント（グローバルポジショニングシステム（ＧＰＳ）コンポーネントのような）を備え、そしてクライアント装置は、多数の地理的ゾーン（例えば、ホームゾーン、隣接ゾーン及びリモートゾーン；又は、例えば、地方ゾーン、地域ゾーン、国内ゾーン及び外国ゾーン）を画成し、そして各ゾーンに異なるスコアを関連付け、ジオロケーションコンポーネントのジオロケーション情報に基づいて、どのゾーンにクライアント装置が位置するか決定し、及びクライアント装置がそのとき位置しているゾーンに関連したスコアを取り上げることでジオロケーションリスクファクタのスコアを決定する。ある実施形態において、クライアント装置は、ローカル時間ゾーンを決定するように適応され、そしてローカル時間ゾーンを地理的位置の代理として使用する。
【００３４】
ある実施形態において、クライアント装置は、ユーザがＯＴＰを生成するためにクライアント装置を使用する地理的位置を追跡するように適応される。一般的に、ユーザがＯＴＰを生成するためにクライアント装置を使用する位置の履歴的な範囲は、ある位置が他の位置より頻繁に生じるパターンを示す傾向がある。クライアント装置は、リスクファクタを、クライアント装置がＯＴＰを生成する所与の地理的位置がユーザの履歴的パターンから外れる程度と関連付ける。クライアント装置が新たなＯＴＰを生成しようとしているときに、クライアント装置は、クライアント装置の実際の位置を位置の履歴と比較し、そしてこの比較に基づいてこのリスクファクタのスコアを決定する。例えば、ユーザが以前にＯＴＰを既に生成している過去の位置に鑑み、実際の位置がユーザにとって通常でないほど、クライアント装置がこのリスクファクタに指定するスコアが大きい。
【００３５】
ある実施形態において、クライアント装置は、各リスクファクタカテゴリに、そのリスクファクタカテゴリのスコアを表わすための固定数のビットを割り当てる。ある実施形態において、各リスクファクタカテゴリに割り当てられるビットの数は、全てのリスクファクタカテゴリに対して同じである。他の実施形態では、各リスクファクタカテゴリに割り当てられるビットの数は、あるリスクファクタカテゴリから別のリスクファクタカテゴリへと変化する。ある実施形態において、クライアント装置は、種々のリスクファクタカテゴリに対するスコアを表わすビットを連結することによりリスク情報ビットを決定する。例えば、ある実施形態において、各リスクファクタカテゴリに単一のビットが割り当てられ、そしてリスク情報ビットは、全てのそれら単一ビットの連結より成る。
【００３６】
例えば、ある実施形態において、クライアント装置は、数値のリスクファクタにより各リスクファクタのスコアを表わす。クライアント装置は、同じカテゴリの種々のリスクファクタの数値スコアを、そのカテゴリのリスクファクタのスコアを加算することによって合成し、従って、各リスクファクタのスコアは、最初に、そのリスクファクタ特有の重み付けファクタで乗算される。そのカテゴリについて得られる和は、次いで、各異なるカテゴリ特有のスレッシュホールドファクタと比較され、その比較の結果は、そのカテゴリの全ブールスコアで且つ単一ビットで表されるブール値を決定する。クライアント装置は、種々のカテゴリのブールスコア値を表わすビットを連結することで、リスク情報ビットを決定する。換言すれば、リスク情報ビットは、ビットストリングより成り、そのストリングの各ビットは、その特定ビットに対応する特定のリスクファクタカテゴリに対して、その特定のリスクファクタカテゴリに属する種々のリスクファクタの数値スコアの重み付けされた和が、その特定のリスクファクタカテゴリに関連した特定のスレッシュホールド値を越えるか否か指示する。
【００３７】
ある実施形態において、リスク情報ビットの数は、１２ビット以下に限定される。ある実施形態において、リスク情報ビットの数は、８ビット以下である。ある実施形態において、リスク情報ビットの数は、４ビット以下である。ある実施形態において、リスク情報ビットの数は、３ビットである。
【００３８】
サーバーへのリスク情報ビットの通過
【００３９】
ある実施形態において、クライアント装置は、リスク情報ビットを、生成されたＯＴＰと一緒に、又はＯＴＰの一部分として、更なる分析のためにサーバーへ通すように適応される。以下、リスク情報ビットを含むＯＴＰは、改善されたＯＴＰと称される。それ故、改善されたＯＴＰは、一方では、ダイナミック変数と、サーバーとで共有される暗号シークレットとの暗号論的合成の結果である暗号データを含み、そして他方では、リスク情報ビットを搬送するリスク情報データを含むものと考えられる。状況に基づいて、ＯＴＰという語は、リスク情報データを含まないＯＴＰ、リスク情報データを含まない改善されたＯＴＰの一部分、又は改善されたＯＴＰの単なる短縮形を指す。
【００４０】
ある実施形態において、凝縮されたリスクファクタ関連情報を表わすビットにより搬送される情報は、隠されたままであるか、又はマスクされる。例えば、これらのリスク情報ビットは、凝縮されたリスクファクタ関連情報を表わすビットの値をマスクするためにＯＴＰの暗号データのビットを使用してスクランブルされる。即ち、改善されたＯＴＰのリスク情報データは、オリジナルＯＴＰの暗号データの全部又は一部分を使用してマスクされる。
【００４１】
ある実施形態において、リスク情報ビットは暗号ＯＴＰビットに添付される。ある実施形態において、リスク情報ビットは、ある暗号ＯＰＴビットと共にブールロジック（例えば、排他的“ＯＲ”演算又は他の演算）を使用して処理される。ある実施形態において、改善されたＯＴＰは、１０進数（即ち、底１０の数字）のストリングを含み、そして改善されたＯＴＰは、一方では、暗号ＯＴＰデータ（即ち、ダイナミック変数と、サーバーとで共有される暗号シークレットとの暗号論的合成により得られるデータ）を表わす一連の１０進数を含み、そして他方では、リスク情報ビットをエンコードする１０進数を、ダイナミック変数と、サーバーとで共有される暗号シークレットとの暗号論的合成により得られる１０進数と加算し又は減算することにより得られる１０進数を含み、前記加算又は減算は、モジュロ１０で行われる。より一般的には、ある実施形態において、改善されたＯＴＰは、底Ｎの数字のストリングを含み（Ｎは、１より大きな整数）、そして改善されたＯＴＰは、一方では、暗号ＯＴＰデータ（即ち、ダイナミック変数と、サーバーとで共有される暗号シークレットとの暗号論的合成により得られるデータ）を表わす一連の底Ｎの数字を含み、そして他方では、リスク情報ビットをエンコードする底Ｎの数字を、ダイナミック変数と、サーバーとで共有される暗号シークレットとの暗号論的合成により得られる幾つかの底１０の数字と加算し又は減算することにより得られる底１０の数字を含む。
【００４２】
ある実施形態において、クライアント装置により決定される凝縮されたリスクファクタ関連情報を表わすビットの完全性が保護される。ある実施形態において、クライアント装置により決定される凝縮されたリスクファクタ関連情報を表わすビットの完全性が暗号論的に保護される。ある実施形態において、凝縮されたリスクファクタ関連情報を表わすビットは、ＯＴＰを生成するための暗号プロセスに含まれる。ある実施形態において、リスク情報ビットは、ダイナミック変数に含まれる。例えば、ある実施形態において、クライアント装置は、リスク情報ビットを、ダイナミック変数に沿った特別変数として使用し、そしてクライアント装置は、ダイナミック変数及びリスク情報ビットの両方を、共有暗号シークレットと合成する。ある実施形態において、クライアント装置は、第１に、リスク情報ビットを、あるダイナミック値（時間値、カウンタ値、チャレンジ、トランザクションデータ、等）と合成して、ダイナミック変数の値を得、クライアント装置は、次いで、それを共有暗号シークレットと合成して、暗号ＯＴＰデータを生成する。例えば、ある実施形態において、リスク情報ビットは、ダイナミック値に添付され、それにより得られる値が、次いで、共有暗号シークレットと暗号論的に合成される。例えば、ある実施形態において、得られた値は、共有暗号シークレットでパラメータ化される対称的暗号アルゴリズム（ＡＥＳのような）で暗号化されるか、又は得られた値は、共有暗号シークレットでパラメータ化されるキー付きハッシュアルゴリズム（ＨＭＡＣのような）へ提出される。ある実施形態において、クライアント装置は、次いで、リスク情報データ（リスク情報ビットを表わす）を、例えば、上述した暗号ＯＴＰデータに追加して、改善されたＯＴＰを得る。
【００４３】
ある実施形態において、クライアント装置は、クライアント装置のユーザ出力インターフェイスを使用して、生成された改善されたＯＴＰをユーザに与え、ユーザは、その改善されたＯＴＰをアプリケーションへ転送する。例えば、クライアント装置は、改善されたＯＴＰを表わす数字のストリングを、クライアント装置のディスプレイにおいてユーザに表示する。ラップトップ又はＰＣ（パーソナルコンピュータ）のようなアクセス装置を使用してアプリケーションにアクセスするユーザは、クライアント装置のディスプレイから表示された改善されたＯＴＰを読み取り、そして例えば、改善されたＯＴＰをアクセス装置のユーザ入力インターフェイスに与えることにより（例えば、改善されたＯＴＰの数字をアクセス装置のキーボードに入力することにより）、改善されたＯＴＰをアプリケーションに与え、その際に、アクセス装置は、ユーザにより与えられた改善されたＯＴＰをアプリケーションへ転送する。
【００４４】
ある実施形態において、アプリケーションは、ユーザから受け取った改善されたＯＴＰを使用して、ユーザにどの許可を与えるか判断する、等の更なるアクションを実行するときに、ユーザにアクセスをグラントすべきかどうか、ユーザにより提出されたトランザクションを受け容れるべきかどうか、等々、を判断する。ある実施形態において、アプリケーションは、検証サーバーを使用して、受け取った改善されたＯＴＰを確認する。ある実施形態において、検証サーバーは、アプリケーションの個別のエンティティである。ある実施形態において、検証サーバーは、アプリケーションに含まれる。
【００４５】
サーバー側リスク分析
ある実施形態において、検証サーバーは、改善されたＯＴＰを受け取ると、その受け取られた改善されたＯＴＰからリスク情報ビットを抽出し、改善されたＯＴＰの（残りの）暗号有効性を検証し、そしてその受け取られた改善されたＯＴＰから抽出されるリスク情報ビットを使用して第２のサーバー側リスク分析を遂行する。
【００４６】
ある実施形態において、受け取られた改善されたＯＴＰからリスク情報ビットを抽出することは、リスク情報ビットがクライアント装置において暗号データと合成されて改善されたＯＴＰを得るときに改善されたＯＴＰをマスクするためにクライアント装置において適用された動作を逆に実行することを含む。例えば、ある実施形態において、改善されたＯＴＰは、一方では、改善されたＯＴＰの暗号データを表わす底Ｎの数字のストリングの連結（これは、クライアント装置により、リスク情報ビット、ダイナミック変数及び共有暗号シークレットを暗号論的に合成することにより得られる）を含み、そして他方では、リスク情報ビットをエンコードするマスクされた底Ｎの数字のストリングを含み、これにより、クライアント装置は、リスク情報ビットをエンコードする各底Ｎ数字と、暗号データを表わす底Ｎ数字の１つとの数字ごとのモジュロＮ加算（又は減算）を行うことにより、リスク情報ビットをエンコードする底Ｎ数字のストリングをマスクする。改善されたＯＴＰからリスク情報ビットを検索することは、リスク情報ビットをエンコードするマスクされた数字及び暗号データを表わす数字を前記連結から分離することを含む。改善されたＯＴＰからリスク情報ビットを検索することは、更に、各マスクされた数字と、マスキング動作においてクライアント装置により使用された暗号データの対応数字との数字ごとのモジュロＮ減算（又は加算）を行うことにより、リスク情報ビットをエンコードするマスクされた数字をアンマスクすることを含む。改善されたＯＴＰからリスク情報ビットを検索することは、更に、リスク情報ビットをエンコードするためにクライアント装置が使用したアンマスクされた底Ｎ数字のストリングをデコードすることを含む。
【００４７】
ある実施形態において、改善されたＯＴＰの暗号有効性を検証することは、改善されたＯＴＰから暗号データを検索することを含むと共に、前記で詳細に述べたように、改善されたＯＴＰからリスク情報ビットを検索することも含む。ある実施形態において、改善されたＯＴＰの暗号有効性を検証することは、検索された暗号データの暗号有効性を検証することを含む。ある実施形態において、改善されたＯＴＰの暗号有効性を検証することは、共有暗号シークレットのサーバーコピーを使用して暗号演算を遂行することを含む。ある実施形態において、改善されたＯＴＰの暗号有効性を検証することは、改善されたＯＴＰの暗号データの生成のためにクライアント装置により使用されたと仮定されるダイナミック変数のサーバーコピーを決定することを含む。ある実施形態において、改善されたＯＴＰの暗号有効性を検証することは、ダイナミック変数のサーバーコピーを共有暗号シークレットのサーバーコピーと暗号論的に合成することを含む。ある実施形態において、ダイナミック変数のサーバーコピーを共有暗号シークレットのサーバーコピーと暗号論的に合成することは、暗号データを発生するためにクライアント装置により使用された実質的に同じ対称的暗号アルゴリズムで行われる。ある実施形態において、改善されたＯＴＰの暗号有効性を検証することは、受け取られた改善されたＯＴＰを、ダイナミック変数のサーバーコピーと共有暗号シークレットのサーバーコピーとの暗号論的合成の結果と比較することを含む。ある実施形態において、改善されたＯＴＰの暗号有効性を検証することは、検索されたリスク情報ビット及びダイナミック変数のサーバーコピーを共有暗号シークレットのサーバーコピーと暗号論的に合成することを含む。ある実施形態において、検索されたリスク情報ビット及びダイナミック変数のサーバーコピーを共有暗号シークレットのサーバーコピーと暗号論的に合成することは、暗号データを発生するためにクライアント装置により使用された実質的に同じ対称的暗号アルゴリズムで行われる。ある実施形態において、改善されたＯＴＰの暗号有効性を検証することは、受け取られた改善されたＯＴＰを、検索されたリスク情報ビット及びダイナミック変数のサーバーコピーを共有暗号シークレットのサーバーコピーと暗号論的に合成した結果と比較することを含む。
【００４８】
ある実施形態において、サーバーは、受け取られた改善されたＯＴＰを、ＯＴＰの暗号有効性の検証が失敗の場合に、拒絶する。ある実施形態において、ＯＴＰの暗号有効性の検証が成功の場合には、サーバーは、ＯＴＰを暗号論的に正しいとして受け容れ、そして第２のリスク分析の結果に基づいて改善されたＯＴＰにクオリティレベルを指定する。或いは又、サーバーは、暗号検証及び第２のリスク分析の結果に基づいて改善されたＯＴＰにリスクレベルを指定してもよい。
【００４９】
ある実施形態において、第２のリスク分析は、改善されたＯＴＰから検索されたリスク情報ビットに基づいて行われる。ある実施形態において、第２のリスク分析は、改善されたＯＴＰから検索されたリスク情報ビットにおいてクライアント装置がエンコードした異なるリスクファクタカテゴリに対する異なるスコアに基づいて行われる。ある実施形態において、リスク情報ビットは、多数のリスクファクタカテゴリに対してクライアント装置により決定されたスコアをエンコードし、そして第２のリスク分析は、リスク情報ビットにおいてエンコードされたそれらスコアをスコア基準値と比較することを含む。例えば、ある実施形態において、スコア基準値は、スレッシュホールド値を含み、リスク情報ビットにおいてエンコードされた対応スコアは、そのスレッシュホールド値と比較され、そしてそのリスクファクタカテゴリに対してエンコードされたスコアがその対応スレッシュホールド値を越える場合には、リスクファクタカテゴリに対してブールのフラグがセットされる。ある実施形態において、スコア基準値は、スケーリング値を含み、リスク情報ビットにおいてエンコードされた対応スコアは、そのスケーリング値と比較され、そしてそのリスクファクタカテゴリに対してエンコードされたスコアをその対応スケーリング値で乗算（又は除算）することによりリスクファクタカテゴリに対してリスク推定数値が計算される。ある実施形態において、第２のリスク分析は、多数のリスクファクタカテゴリに対するブールのフラグを決定し、そしてそれらブールのフラグを、１つ以上のブール関数を使用して合成することを含む。ある実施形態において、第２のリスク分析は、多数のリスクファクタカテゴリに対して数値を決定し、そして演算計算を使用してそれら数値を合成することを含む。ある実施形態において、第２のリスク分析は、例えば、アプリケーションにより与えられるパラメータ値に基づいて、あるリスクファクタカテゴリには他のものとは別の重みが分析に与えられるように、アプリケーションによりパラメータ化される。
【００５０】
ある実施形態において、第２のリスク分析は、受け取られた改善されたＯＴＰから検索された情報以外の情報も含む。ある実施形態において、サーバーは、ユーザに関連した情報、又は改善されたＯＴＰが生成されたトランザクションに関連した情報を使用する。ある実施形態において、サーバーは、他のユーザ又は他のトランザクションに関連した情報を使用する。例えば、ある実施形態において、サーバーは、詐欺的と分かったトランザクションに対して生成された改善されたＯＴＰに関する情報を使用する。例えば、ある実施形態において、サーバーは、最近の詐欺的トランザクションのセットにおいてそのリスクファクタカテゴリのスコアが異常な値を有する場合にはリスクファクタカテゴリの重みを増加する。
【００５１】
ある実施形態において、第２リスク分析の結果は、サーバーが改善されたＯＴＰに対して指定するか又は改善されたＯＴＰに関連したトランザクション要求に対して指定するリスクレベル又はクオリティレベルである。ある実施形態において、受け取られた改善されたＯＴＰに対してサーバーが指定するクオリティレベル又はリスクレベルは、一次元である。ある実施形態において、ＯＴＰに指定されるリスク又はクオリティレベルは、数字で表わされる。ある実施形態において、この数字は、数値の連続範囲における任意の値である。ある実施形態において、この数字は、個々の値の限定セットのうちの１つだけを有する。ある実施形態において、ＯＴＰに指定されるクオリティ又はリスクレベルは、多次元である。ある実施形態において、ＯＴＰに指定されるリスク又はクオリティレベルは、ベクトルで表わされる。ある実施形態において、ベクトル成分の少なくとも幾つかは、数字である。ある実施形態において、これら数字の幾つかは、個々の値の限定セットのうちの１つを有する。ある実施形態において、これら数字の幾つかは、数値の連続範囲における任意の値である。
【００５２】
ある実施形態において、アプリケーションは、第２のリスク分析の後にＯＴＰに又はそのＯＴＰに関連したトランザクションに指定されたクオリティレベル又はリスクレベルに基づいてＯＴＰを受け容れるべきかどうかの判断を行う。ＯＴＰに又はそのＯＴＰに関連したトランザクションに指定されたクオリティレベル又はリスクレベルに基づいて、アプリケーションは、例えば、ユーザにアクセスをグラントすべきかどうか、或いはユーザにより提出され且つそのＯＴＰに関連したトランザクションを受け容れるべきかどうか判断する。
【００５３】
ここに述べる実施形態の前記及び他の特徴並びに効果は、添付図面に示された本発明の観点の実施形態の以下の特定の説明から明らかとなろう。
【図面の簡単な説明】
【００５４】
【図１】本発明の観点による規範的な方法を概略的に示す。
【図２】本発明の観点による規範的なシステムを概略的に示す。
【発明を実施するための形態】
【００５５】
ここに述べる実施形態の幾つかの具現化について以下に説明する。特定の具現化について説明するが、これは、例示に過ぎないことを理解されたい。当業者であれば、本発明の精神及び範囲から逸脱せずに他のコンポーネント及び構成を使用できることが明らかであろう。
【００５６】
図１は、本発明の観点による規範的な方法（１００）を概略的に示す。この方法は、認証クライアント装置で、リスクファクタのセットに対するスコアをローカルに決定し（１１０）、認証クライアント装置で、それらリスクファクタスコアを使用して第１のクライアント側リスク分析を遂行し（１２０）、認証クライアント装置で、この第１のクライアント側リスク分析の結果を短いリスク情報ビットストリングにおいて要約し（１３０）、認証クライアント装置で、ダイナミック変数と、検証サーバーとで共有されるシークレットキーとを暗号論的に合成し、そしてリスク情報ビットストリングを暗号論的合成の結果と合併させることにより一回限りのパスワードを発生し（１４０）、その一回限りのパスワードを検証サーバーへ送り（１５０）、検証サーバーで、その受け取られた一回限りのパスワードからリスク情報ビットストリングを抽出し（１６０）、検証サーバーで、共有シークレットキーを使用してその一回限りのパスワードを暗号論的に検証し（１７０）、検証サーバーで、抽出されたリスク情報ビットストリングを使用して第２のリスク分析を遂行し（１８０）、第２のリスク分析の結果及び一回限りのパスワードの暗号検証に基づいて適当なアクションを取る（１９０）、という段階を含む。
【００５７】
上述した技術は、装置の形態（例えば、リスク分析を遂行するクライアント側装置及び／又はリスク分析を遂行するホスト側装置）、システムの形態（クライアント側、ホスト側、クライアント／ホストの組み合わせ）、及び／又はリスク分析を遂行する方法において具現化される。
【００５８】
図２は、本発明の観点による規範的なシステム（２００）を概略的に示す。ある実施形態において、アプリケーションとユーザとの間の対話をセキュアなものにするシステム、例えば、図２に示すシステム（２００）は、アプリケーションのサーバー部分をホストするアプリケーションサーバー（２１０）；ユーザ（２９０）がアプリケーションに（リモート）アクセスするのを許すアクセス装置（２３０）；改善されたＯＴＰを生成するための認証クライアント装置（２４０）；及び改善されたＯＴＰを確認しそして改善されたＯＴＰについて第２のリスク分析を遂行する検証サーバー（２２０）；を備え、これにより、アプリケーションサーバー及びアクセス装置は、コンピュータネットワーク（２５０）（ローカルエリアネットワーク、ワイドエリアネットワーク、インターネット、及びその組み合わせを含む）を経て互いに接続され且つ通信し、アクセス装置は、アプリケーションのクライアント部分を実行するように適応され、認証クライアント装置は、生成された改善されたＯＴＰをユーザに与えるように適応され、アクセス装置は、更に、生成されたダイナミッククレデンシャルをアプリケーションサーバー又は検証サーバーに確認のために転送するように適応され、検証サーバーは、改善されたＯＴＰが有効であると検証されたかどうかアプリケーションサーバーに信号し、及び／又は改善されたＯＴＰに指定されたリスクレベル又はクオリティレベルをアプリケーションサーバーに通信するように適応される。
【００５９】
ある実施形態において、システムは、改善されたＯＴＰを生成しそして確認するための前記いずれかの方法を遂行するように適応される。
【００６０】
ある実施形態において、検証サーバーは、改善されたＯＴＰを確認するための前記いずれかの方法を遂行するように適応される。ある実施形態において、アプリケーションサーバー及び検証サーバーは、同じサーバーである。ある実施形態において、アプリケーションサーバー及び検証サーバーは、１つ以上のサーバーコンピュータを含む。ある実施形態において、コンピュータネットワークは、インターネット及び／又はワイヤレステレコミュニケーションズネットワークを含む。同様に、コンピュータネットワークは、ローカルエリアネットワーク、ワイドエリアネットワーク、及び／又は各々の組み合わせであり、テレコミュニケーションズネットワーク及び／又はインターネットを含む。
【００６１】
ある実施形態において、アクセス装置は、ユーザとローカルに対話するためのユーザインターフェイスを有する。例えば、ある実施形態において、アクセス装置は、ユーザ入力を受け取るためのキーボード、マウス、又はタッチスクリーンのようなユーザ入力インターフェイスを有する。ある実施形態において、アクセス装置は、視覚又は聴覚信号を含む出力をユーザに提示するためのディスプレイ又はスピーカのようなユーザ出力インターフェイスを有する。ある実施形態において、アクセス装置は、ＰＣ（パーソナルコンピュータ）、タブレットコンピュータ又はスマートホンを含む。
【００６２】
ある実施形態において、アプリケーション（インターネットバンキングアプリケーションのような）は、リモートアプリケーションサーバーにおいて実行されるサーバー部分、及びユーザのアクセス装置において実行され、且つ例えば、インターネットを経てアプリケーションのサーバー部分にアクセスするためにユーザが対話するクライアント部分を含む。ある実施形態において、アプリケーションは、ウェブベースアプリケーションを含み、そしてアプリケーションサーバーは、ウェブサーバーを含む。ある実施形態において、アプリケーションサーバーは、ユーザのアクセス装置にウェブブラウザを使用してユーザによりアクセスされる。ある実施形態において、アプリケーションのクライアント部分は、アプレット（例えば、Ｊａｖａ（登録商標）アプレット）、又はユーザのホストコンピュータにおいてウェブブラウザで実行されるスクリプトを含む。ある実施形態において、ユーザは、アプリケーションのサーバー部分にスマートホンでアクセスする。スマートホンは、アクセス装置（２３０）として機能し、そしてスマートホンで実行されるクライアントアプリケーションは、スマートホンのａｐｐ（インターネットバンキングａｐｐのような）を含み、従って、ａｐｐは、スマートホンのユーザインターフェイスを通してユーザと対話すると共に、例えば、インターネットを経てアプリケーションサーバーと対話する。
【００６３】
ある実施形態において、認証クライアント装置は、ユーザとローカルで対話をするためのユーザインターフェイスを有する。例えば、ある実施形態において、認証クライアント装置は、ユーザ入力を受け取るためのキーボード、マウス、又はタッチスクリーンのようなユーザ入力インターフェイスを有する。ある実施形態において、認証クライアント装置は、視覚又は聴覚信号を含む出力をユーザに提示するためのディスプレイ又はスピーカのようなユーザ出力インターフェイスを有する。ある実施形態において、認証クライアント装置は、タブレットコンピュータ又はスマートホンを含む。ある実施形態において、認証クライアント装置は、アンドロイド又はウインドウズモバイル又はウインドウズホンのバージョンのようなオペレーティングシステムを有する。ある実施形態において、認証クライアント装置は、改善されたＯＴＰを生成するための認証アプリケーションを実行する。ある実施形態において、認証装置は、改善されたＯＴＰを生成するための前記いずれかの方法を遂行するように適応された。
【００６４】
多数の具現化について説明した。それでも、種々の変更がなされ得ることを理解されたい。例えば、１つ以上の具現化の要素を合成、削除、変更又は補足して、更に別の具現化を形成してもよい。従って、他の実施形態も特許請求の範囲内に入る。更に、多数の具現化の１つのみに対して特定の特徴を開示したが、そのような特徴は、必要に応じて、他の具現化の１つ以上の他の特徴、並びに所与の又は特定のアプリケーションに対する効果と合成されてもよい。以上、種々の実施形態を説明したが、それらは、単なる例示に過ぎず、それに限定されるものではない。特に、当然、請求項の要旨を説明する目的でコンポーネント又は方法の考えられる全ての組み合わせを説明することはできないが、当業者であれば、多数の更に別の組み合わせ及び順列が可能であることが認識されよう。従って、ここに述べる教示の寛容さ及び範囲は、上述した規範的実施形態のいずれによっても限定されてはならず、特許請求の範囲及びその等効物のみによって定められるものとする。
【符号の説明】
【００６５】
２００：規範的なシステム
２１０：アプリケーションサーバー
２２０：検証サーバー
２３０：アクセス装置
２４０：認証クライアント装置
２５０：コンピュータネットワーク
２９０：ユーザ
【図１】
0006702874.tif 000002
【図２】
0006702874.tif 000003