(57)【特許請求の範囲】
【請求項１】
認証システム内で実施される方法であって、
クライアントデバイス上のユーザの行為に関するパラメータセットを選択することと、  現行のトランザクションに関して前記ユーザを認証するリクエストを受信することと、  応答として、前記現行のトランザクションに関連付けられるパラメータと、既存のデータセットからの履歴パラメータとの間の距離を計算することと、
前記現行のトランザクションに関連付けられる前記パラメータと前記履歴パラメータとの間の前記計算された距離に基づいて、前記現行のトランザクションに関連付けられるリスクレベルを判定することと、
前記リスクレベルに基づいて、前記ユーザを認証するために要求される１つ以上の認証技術を選択することと、
前記ユーザの認証を試行するために前記１つ以上の認証技術を実行し、認証結果を生成することと、
前記現行のトランザクションに関連付けられる前記パラメータ及び前記認証結果を使用して、前記履歴パラメータを更新することと、
機械学習を用いて、各パラメータと先の認証イベントの結果との間の相関を実行することによって前記パラメータセットを選択することと、を含む、方法。
【請求項２】
前記パラメータが、認証を実行するために使用される認証部識別子若しくは鍵に関連付けられるパラメータ、認証の時間に関連付けられるパラメータ、認証の位置に関連付けられるパラメータ、ネットワーク接続性に関連付けられるパラメータ、及び／又はクライアントデバイス認証部によって生成されるバイオメトリックスコアに関連付けられるパラメータを含む、請求項１に記載の方法。
【請求項３】
前記現行のトランザクションに関連付けられる前記パラメータのうちの１つ以上と、対応する前記履歴パラメータとの間の前記距離が、規定の閾値未満である場合、前記リスクレベルが、正常なユーザ挙動を表す第１のレベルに設定される、請求項１に記載の方法。
【請求項４】
前記現行のトランザクションに関連付けられる前記パラメータのうちの１つ以上と、対応する前記履歴パラメータとの間の前記距離が、規定の閾値を超える場合、前記リスクレベルが、疑わしいユーザ挙動を表す第２のレベルに設定される、請求項３に記載の方法。
【請求項５】
選択することが、
相対的により高いリスクレベルについては、厳格度のより高い認証技術を選択すること、及び、相対的により低いリスクレベルについては、相対的に厳格度のより低い認証技術を選択すること、又は認証技術を選択しないことを含む、請求項１に記載の方法。
【請求項６】
前記厳格度のより高い認証技術が、明示的なバイオメトリックユーザ認証を含む、請求項５に記載の方法。
【請求項７】
前記厳格度のより低い認証技術が、非侵入的認証技術を含む、請求項６に記載の方法。
【請求項８】
パラメータが、成功した認証イベント及び／又は不成功の認証イベントとの相対的に高い相関性を有する前記パラメータセット内に含まれるように選択される、請求項１に記載の方法。
【請求項９】
前記現行のトランザクションに関連付けられるパラメータと履歴パラメータとの間の距離を計算することが、前記パラメータのガウス分布を使用して異常検出を実行することを含む、請求項１に記載の方法。
【請求項１０】
プログラムコードが記憶されている機械可読媒体であって、前記プログラムコードが、機械によって実行されると、前記機械に、
クライアントデバイス上のユーザの行為に関するパラメータセットを選択する動作と、  現行のトランザクションに関して前記ユーザを認証するリクエストを受信する動作と、  それに応答して、前記現行のトランザクションに関連付けられるパラメータと、既存のデータセットからの履歴パラメータとの間の距離を計算する動作と、
前記現行のトランザクションに関連付けられる前記パラメータと前記履歴パラメータとの間の前記計算された距離に基づいて、前記現行のトランザクションに関連付けられるリスクレベルを判定する動作と、
前記リスクレベルに基づいて、前記ユーザを認証するために要求される１つ以上の認証技術を選択する動作と、
前記ユーザの認証を試行するために前記１つ以上の認証技術を実行し、認証結果を生成する動作と、
前記現行のトランザクションに関連付けられる前記パラメータ及び前記認証結果を使用して、前記履歴パラメータを更新する動作と、
機械学習を用いて、各パラメータと先の認証イベントの結果との間の相関を実行することによって前記パラメータセットを選択する動作と、を実行させる、機械可読媒体。
【請求項１１】
前記パラメータが、認証を実行するために使用される認証部識別子若しくは鍵に関連付けられるパラメータ、認証の時間に関連付けられるパラメータ、認証の位置に関連付けられるパラメータ、ネットワーク接続性に関連付けられるパラメータ、及び／又はクライアントデバイス認証部によって生成されるバイオメトリックスコアに関連付けられるパラメータを含む、請求項１０に記載の機械可読媒体。
【請求項１２】
前記現行のトランザクションに関連付けられる前記パラメータのうちの１つ以上と、対応する前記履歴パラメータとの間の前記距離が、規定の閾値未満である場合、前記リスクレベルが、正常なユーザ挙動を表す第１のレベルに設定される、請求項１０に記載の機械可読媒体。
【請求項１３】
前記現行のトランザクションに関連付けられる前記パラメータのうちの１つ以上と、対応する前記履歴パラメータとの間の前記距離が、規定の閾値を超える場合、前記リスクレベルが、疑わしいユーザ挙動を表す第２のレベルに設定される、請求項１２に記載の機械可読媒体。
【請求項１４】
選択することが、
相対的により高いリスクレベルについては、厳格度のより高い認証技術を選択すること、及び、相対的により低いリスクレベルについては、相対的に厳格度のより低い認証技術を選択すること、又は認証技術を選択しないことを含む、請求項１０に記載の機械可読媒体。
【請求項１５】
前記厳格度のより高い認証技術が、明示的なバイオメトリックユーザ認証を含む、請求項１４に記載の機械可読媒体。
【請求項１６】
前記厳格度のより低い認証技術が、非侵入的認証技術を含む、請求項１５に記載の機械可読媒体。
【請求項１７】
パラメータが、成功した認証イベント及び／又は不成功の認証イベントとの相対的に高い相関性を有する前記パラメータセット内に含まれるように選択される、請求項１０に記載の機械可読媒体。
【請求項１８】
前記現行のトランザクションに関連付けられるパラメータと履歴パラメータとの間の距離を計算することが、前記パラメータのガウス分布を使用して異常検出を実行することを含む、請求項１０に記載の機械可読媒体。
【請求項１９】
現在のユーザの行為に関するパラメータセットを提供するクライアントデバイスと、
現行のトランザクションに関して前記ユーザを認証するリクエストを受信するための認証サーバであって、
前記認証サーバは、応答として、前記現行のトランザクションに関連付けられるパラメータと、既存のデータセットからの履歴パラメータとの間の距離を計算する、リスク分析モジュールを備え、
前記リスク分析モジュールは、前記現行のトランザクションに関連付けられる前記パラメータと前記履歴パラメータとの間の前記計算された距離に基づいて、前記現行のトランザクションに関連付けられるリスクレベルを判定し、前記リスクレベルに基づいて前記ユーザを認証するために要求される１つ以上の認証技術を選択する、認証サーバと、
前記ユーザの認証を試行するために前記１つ以上の認証技術を実行する認証エンジンを備え、認証結果を生成する、前記クライアントデバイスと、
前記現行のトランザクションに関連付けられる前記パラメータ及び前記認証結果を使用して、前記履歴パラメータを更新する、結果分析・更新モジュールと、を備え、
機械学習を用いて、各パラメータと先の認証イベントの結果との間の相関を実行することによって前記パラメータセットを選択する、システム。
【請求項２０】
前記パラメータが、認証を実行するために使用される認証部識別子若しくは鍵に関連付けられるパラメータ、認証の時間に関連付けられるパラメータ、認証の位置に関連付けられるパラメータ、ネットワーク接続性に関連付けられるパラメータ、及び／又はクライアントデバイス認証部によって生成されるバイオメトリックスコアに関連付けられるパラメータを含む、請求項１９に記載のシステム。
【請求項２１】
前記現行のトランザクションに関連付けられる前記パラメータのうちの１つ以上と、対応する前記履歴パラメータとの間の前記距離が、規定の閾値未満である場合、前記リスクレベルが、正常なユーザ挙動を表す第１のレベルに設定される、請求項１９に記載のシステム。
【請求項２２】
前記現行のトランザクションに関連付けられる前記パラメータのうちの１つ以上と、対応する前記履歴パラメータとの間の前記距離が、規定の閾値を超える場合、前記リスクレベルが、疑わしいユーザ挙動を表す第２のレベルに設定される、請求項２１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、データ処理システムの分野に関する。より具体的には、本発明は、機械学習などのデータ分析手法を用いた認証を実行するためのシステム及び方法に関する。
【背景技術】
【０００２】
バイオメトリックセンサを使用してネットワーク上で安全なユーザ認証を提供するためのシステムもまた設計されてきた。そのようなシステムにおいて、認証部、及び／又は他の認証データにより生成されたスコアは、リモートサーバでユーザを認証するためにネットワークを介して送信することができる。例えば、特許出願第２０１１／００８２８０１号（「‘８０１出願」）は、強力な認証（例えば、なりすまし犯罪及びフィッシングからの保護）、安全なトランザクション（例えば、トランザクションに対する「ブラウザ内のマルウェア」及び「介入者」攻撃からの保護）、及びクライアント認証トークン（例えば、指紋リーダー、顔認識デバイス、スマートカード、トラステッドプラットフォームモジュールなど）の登録／管理を提供する、ネットワーク上のユーザ登録及び認証のためのフレームワークを記載している。
【０００３】
本特許出願の譲受人は、‘８０１出願に記載された認証フレームワークに対する様々な改善を開発してきた。これらの改善のうちのいくつかは、本件の譲受人に譲渡される以下の米国特許出願の一群に記載されている：第１３／７３０，７６１号、Ｑｕｅｒｙ  Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｔｏ  Ｄｅｔｅｒｍｉｎｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃａｐａｂｉｌｉｔｉｅｓ；第１３／７３０，７７６号、Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔｌｙ  Ｅｎｒｏｌｌｉｎｇ，Ｒｅｇｉｓｔｅｒｉｎｇ，ａｎｄ  Ａｕｔｈｅｎｔｉｃａｔｉｎｇ  Ｗｉｔｈ  Ｍｕｌｔｉｐｌｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｄｅｖｉｃｅｓ；第１３／７３０，７８０号、Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｒａｎｄｏｍ  Ｃｈａｌｌｅｎｇｅｓ  Ｗｉｔｈｉｎ  ａｎ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ；第１３／７３０，７９１号、Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｉｍｐｌｅｍｅｎｔｉｎｇ  Ｐｒｉｖａｃｙ  Ｃｌａｓｓｅｓ  Ｗｉｔｈｉｎ  ａｎ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ；第１３／７３０，７９５号、Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｉｍｐｌｅｍｅｎｔｉｎｇ  Ｔｒａｎｓａｃｔｉｏｎ  Ｓｉｇｎａｌｉｎｇ  Ｗｉｔｈｉｎ  ａｎ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ；及び第１４／２１８，５０４号、Ａｄｖａｎｃｅｄ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ（以降「‘５０４出願」）。これらの出願は、本明細書において時折（「同時係属出願」）と称される。
【０００４】
簡潔に述べると、この同時係属出願は、ユーザがクライアントデバイス上のバイオメトリックデバイス（例えば、指紋センサ）などの認証デバイス（又は認証部）に登録する認証技術を記載している。ユーザがバイオメトリックデバイスに登録されるとき、バイオメトリック参考データが、（例えば、指をスワイプする、写真をスナップする、声を録音することなどにより）捕捉される。ユーザはその後、ネットワーク上の１つ以上のサーバ（例えば、同時係属出願に記載される安全なトランザクションサービスを備えたウェブサイト又は他の依拠当事者）に認証デバイスを登録／プロビジョニングし、その後、登録プロセス中に交換されるデータ（例えば、認証デバイスにプロビジョニングされる暗号鍵）を使用してそれらのサーバで認証することができる。認証されると、ユーザは、ウェブサイト又は他の依拠当事者と１つ以上のオンライントランザクションを実行することが許可される。同時係属出願に記載されたフレームワークでは、ユーザを一意的に識別するために使用され得る指紋データ及び他のデータなどの機密情報は、ユーザのプライバシーを保護するために、ユーザの認証デバイス上にローカルに保持され得る。
【０００５】
‘５０４出願は、ほんの数例を挙げると、複合認証部の設計、認証保証レベルのインテリジェントな生成、非侵入的なユーザ検証の使用、認証データの新しい認証デバイスへの移動、クライアントリスクデータを用いた認証データの拡張、並びに認証ポリシーの適応的適用、及びトラストサークルの作成ための技術を含む、様々な追加の技術を記載している。
【図面の簡単な説明】
【０００６】
本発明のより良好な理解は、以下の図面と共に以下の詳細な説明から得ることができる。
【図１Ａ】安全な認証システムアーキテクチャの２つの異なる実施形態を示す。
【図１Ｂ】安全な認証システムアーキテクチャの２つの異なる実施形態を示す。
【図２】認証デバイスに鍵がどのように登録され得るかを示すトランザクション図である。
【図３】遠隔認証を示すトランザクション図を示す。
【図４Ａ】機械学習技術を用いた認証を実行するためのシステムの異なる実施形態を示す。
【図４Ｂ】機械学習技術を用いた認証を実行するためのシステムの異なる実施形態を示す。
【図５】機械学習技術を用いた認証を実行するための方法の一実施形態を示す。
【図６】機械学習技術を用いた認証を実行するための方法の別の実施形態を示す。
【図７】サーバ及び／又はクライアントに使用されるコンピュータアーキテクチャの一実施形態を示す。
【図８】サーバ及び／又はクライアントに使用されるコンピュータアーキテクチャの一実施形態を示す。
【発明を実施するための形態】
【０００７】
以下に説明するものは、高度な認証技術及び関連するアプリケーションを実行するための装置、方法、及び機械可読媒体の実施形態である。説明全体を通して、説明の目的のために、多数の具体的な詳細が本発明の完全な理解を提供するために記載されている。しかしながら、本発明が、これらの具体的な詳細の一部がなくても実施され得ることは当業者にとって明らかであろう。他の例において、本発明の基本原理を曖昧にすることを避けるために、周知の構造及びデバイスは示されていないか、又はブロック図の形態で示されている。
【０００８】
以下に説明する本発明の実施形態は、バイオメトリックモダリティ又はＰＩＮ入力などのユーザ検証機能を備えた認証デバイスを伴う。これらのデバイスは、本明細書において時折「トークン」、「認証デバイス」、又は「認証部」と称される。特定の実施形態は、顔認識ハードウェア／ソフトウェア（例えば、ユーザの顔を認識してユーザの眼の動きを追跡するためのカメラ及び関連するソフトウェア）に焦点を合わせており、いくつかの実施形態は、例えば、指紋センサ、音声認識ハードウェア／ソフトウェア（例えば、マイクロフォン及びユーザの音声を認識するための関連するソフトウェア）、及び、光学的認識機能（例えば、ユーザの網膜をスキャンするための光学スキャナ及び関連するソフトウェア）を含む追加のバイオメトリックデバイスを利用することができる。ユーザ検証機能は、ＰＩＮ入力のような、非バイオメトリックモダリティを含んでもよい。認証部は、暗号動作及び鍵保管のためにトラスデッドプラットフォームモジュール（ＴＰＭ）、スマートカード及びセキュアエレメントのようなデバイスを使用することがある。
【０００９】
モバイルバイオメトリックの実装において、バイオメトリックデバイスは、依拠当事者から遠隔にあってもよい。本明細書では、「遠隔」という用語は、バイオメトリックセンサが通信可能に結合されているコンピュータのセキュリティ境界の一部ではない（例えば、依拠当事者コンピュータと同じ物理的囲い内に埋め込まれていない）ことを意味する。一例として、バイオメトリックデバイスは、ネットワーク（例えば、インターネット、無線ネットワークリンクなど）を介して又はＵＳＢポートなどの周辺入力を介して依拠当事者に結合することができる。これらの条件下では、そのデバイスが依拠当事者（例えば、認証強度及び完全性保護の許容可能なレベルを提供するもの）によって認証されるものであるかどうか及び／又はハッカーがバイオメトリックデバイスを侵害したかどうか若しくは更には交換したかどうかを依拠当事者が知る方法はない可能性がある。バイオメトリックデバイスにおける信頼は、デバイスの特定の実装に依存する。
【００１０】
「ローカル」という用語は、ユーザが、現金自動預け払い機（ＡＴＭ）又は店舗販売時点情報管理（ＰＯＳ）小売チェックアウトの位置などの特定の位置において、自らトランザクションを完了しようとしている事実を指すために本明細書において使用される。しかしながら、以下に説明するように、ユーザを認証するために用いられる認証技術は、遠隔サーバ及び／又は他のデータ処理デバイスとのネットワークを介した通信などの非位置要素を伴ってもよい。更に、具体的な実施形態が（ＡＴＭや小売店など）本明細書において記載されるが、本発明の基礎原理は、トランザクションがエンドユーザによってローカルに開始される任意のシステムのコンテキスト内で実装されてもよいことに留意すべきである。
【００１１】
「依拠当事者」という用語は、単にユーザトランザクションが試行されるエンティティ（例えば、ユーザトランザクションを実行するウェブサイト又はオンラインサービス）のみならず、本明細書に記載される基礎となる認証技術を実行し得るそのエンティティの代わりに実装される（「ａｕと時折称される安全なトランザクションサーバを指すためにも、本明細書において時折使用される。安全なトランザクションサーバは、所有されるか及び／若しくは依拠当事者の制御下にあってもよく、又は、事業構成の一部として依拠当事者に対して安全なトランザクションサービスを提供する第三者の制御下にあってもよい。
【００１２】
「サーバ」という用語は、クライアントからネットワークを介してリクエストを受信し、応答として１つ以上の操作を実行し、クライアントに通常は操作の結果を含む応答を送信するハードウェアプラットフォーム上で（又は複数のハードウェアプラットフォームにわたって）実行されるソフトウェアを指すために本明細書において使用される。サーバは、クライアントに対してネットワーク「サービス」を提供する又は提供するのに役立つように、クライアントのリクエストに応答する。重要なことは、サーバが単一のコンピュータ（例えば、サーバソフトウェアを実行する単一のハードウェアデバイス）に限定されるものではなく、実際には、潜在的に複数の地理的位置における複数のハードウェアプラットフォームにまたがってもよいということである。
【００１３】
例示的なシステムアーキテクチャ及びトランザクション
図１Ａ及び図１Ｂは、認証デバイスの登録（時折「プロビジョニング」とも称される）並びにユーザ認証のためのクライアント側及びサーバ側の構成要素を含むシステムアーキテクチャの２つの実施形態を示す。図１Ａに示される実施形態は、ウェブサイトと通信するためのウェブブラウザプラグインベースのアーキテクチャを用いるが、図１Ｂに示される実施形態は、ウェブブラウザを必要としない。ユーザを認証デバイスに登録すること、認証デバイスを安全なサーバに登録すること、及びユーザを検証することなどの、本明細書に記載の様々な技術は、これらのシステムアーキテクチャのうちのどちらにも実装され得る。このように、図１Ａに示されるアーキテクチャは、以下に説明する実施形態のうちのいくつかの動作を例証するために使用されるが、同じ基本原理は、（例えば、サーバ１３０とクライアントの安全なトランザクションサービス１０１との間の通信手段としてのブラウザプラグイン１０５を削除することによって）図１Ｂに示されるシステムに容易に実装され得る。
【００１４】
まず図１Ａを参照すると、示されている実施形態は、エンドユーザを登録し検証するための１つ以上の認証デバイス１１０〜１１２（当該技術分野では時折、認証「トークン」又は「認証部」と称される）を備えたクライアント１００を含む。上述のように、認証デバイス１１０〜１１２は、指紋センサ、音声認識ハードウェア／ソフトウェア（例えば、ユーザの音声を認識するためのマイクロフォン及び関連するソフトウェア）、顔認識ハードウェア／ソフトウェア（例えば、ユーザの顔を認識するためのカメラ及び関連するソフトウェア）、及び光学認識機能（例えば、ユーザの網膜をスキャンするための光学スキャナ及び関連するソフトウェア）などのバイオメトリックデバイス、並びにＰＩＮ検証などの非バイオメトリックモダリティのサポートを含み得る。認証デバイスは、暗号操作及び鍵記憶のためにトラステッドプラットフォームモジュール（ＴＰＭ）、スマートカード、又はセキュアエレメントを使用することがある。
【００１５】
認証デバイス１１０〜１１２は、安全なトランザクションサービス１０１によって露出されたインターフェース１０２（例えば、アプリケーションプログラミングインターフェース又はＡＰＩ）を介してクライアントに通信可能に接続されている。安全なトランザクションサービス１０１は、ネットワークを介して１つ以上の安全なトランザクションサーバ１３２〜１３３と通信を行い、かつウェブブラウザ１０４のコンテキスト内で実行される安全なトランザクションプラグイン１０５とインターフェースをとるための安全なアプリケーションである。例示されたように、インターフェース１０２はまた、デバイス識別コードなどの認証デバイス１１０〜１１２のそれぞれに関連する情報、ユーザ識別コード、認証デバイスにより保護されたユーザ登録データ（例えば、スキャンされた指紋又は他のバイオメトリックデータ）、及び本明細書に記載された安全な認証技術を実行するために使用される認証デバイスによりラップされた鍵を記憶するクライアント１００の安全な記憶装置１２０に対する安全なアクセス権を提供することができる。例えば、以下に詳細に説明するように、固有の鍵は、認証デバイスのそれぞれに記憶され、インターネットなどのネットワークを介してサーバ１３０と通信するときに使用することができる。
【００１６】
後述するように、特定の種類のネットワークトランザクションは、ウェブサイト１３１又は他のサーバとのＨＴＴＰ又はＨＴＴＰＳトランザクションなどの安全なトランザクションプラグイン１０５によって、サポートされる。一実施形態では、安全なトランザクションプラグインは、安全なエンタープライズ又はウェブデスティネーション１３０内のウェブサーバ１３１（以下では単に「サーバ１３０」と時折称される）によってウェブページのＨＴＭＬコード内に挿入された特定のＨＴＭＬタグに応答して開始される。そのようなタグを検出することに応答して、安全なトランザクションプラグイン１０５は、処理のために、安全なトランザクションサービス１０１に、トランザクションを転送することができる。更に、特定の種類のトランザクション（例えば、安全な鍵交換などの）について、安全なトランザクションサービス１０１は、オンプレミストランザクションサーバ１３２（すなわち、ウェブサイトと同じ位置に配置された）又は構外のトランザクションサーバ１３３との直接の通信チャンネルを開くことができる。
【００１７】
安全なトランザクションサーバ１３２〜１３３は、ユーザデータ、認証デバイスデータ、鍵、及び、後述する安全な認証トランザクションをサポートするために必要な他の安全な情報を記憶するために安全なトランザクションデータベース１２０に結合される。しかしながら、本発明の基礎原理は、図１Ａに示される安全なエンタープライズ又はウェブデスティネーション１３０内の論理的構成要素の分離を必要としないことに留意されたい。例えば、ウェブサイト１３１及び安全なトランザクションサーバ１３２〜１３３は、単一の物理サーバ又は他の物理サーバ内に実装されてもよい。更に、ウェブサイト１３１及びトランザクションサーバ１３２〜１３３は、以下に説明する機能を実行するための１つ以上のサーバ上で実行される統合されたソフトウェアモジュール内に実装されてもよい。
【００１８】
上述のように、本発明の基礎原理は、図１Ａに示されるブラウザベースのアーキテクチャに限定されるものではない。図１Ｂは、スタンドアロンアプリケーション１５４が、ネットワークを介してユーザを認証するために安全なトランザクションサービス１０１によって提供される機能を用いる、代替的な実装形態を示す。一実施形態において、アプリケーション１５４は、以下に詳細に説明したユーザ／クライアント認証技術を実行するための安全なトランザクションサーバ１３２〜１３３に依存する１つ以上のネットワークサービス１５１との通信セッションを確立するように設計されている。
【００１９】
図１Ａ及び図１Ｂに示された実施形態のどちらにおいても、安全なトランザクションサーバ１３２〜１３３は、次いで安全なトランザクションサービス１０１に対して安全に伝送され、かつ安全な記憶装置１２０内の認証デバイスに記憶される鍵を生成することができる。更に、安全なトランザクションサーバ１３２〜１３３は、サーバ側の安全なトランザクションデータベース１２０を管理する。
【００２０】
認証デバイスを遠隔で登録すること、及び依拠当事者を用いて認証することに関連するある特定の基本原理が、図２及び図３と関連して記載され、機械学習技術を用いた認証を実行するための本発明の実施形態の詳細な説明が続く。
【００２１】
図２は、クライアントの認証デバイス（例えば図１Ａ及び図１Ｂにおけるクライアント１００上のデバイス１１０〜１１２など）の登録（認証デバイスの「プロビジョニング」と時折称される）のための一連のトランザクションを示す。簡略化するために、安全なトランザクションサービス１０１及びインターフェース１０２は、認証クライアント２０１として一緒に組み合わされ、安全なトランザクションサーバ１３２〜１３３を含む安全なエンタープライズ又はウェブデスティネーション１３０は、依拠当事者２０２として表されている。
【００２２】
認証部（例えば、指紋認証部、音声認証部など）の登録中、認証部に関連付けられる鍵が、認証クライアント２０１と依拠当事者２０２との間で共有される。図１Ａ及び図１Ｂを再度参照すると、この鍵は、クライアント１００の安全な記憶装置１２０、及び安全なトランザクションサーバ１３２〜１３３によって使用される安全なトランザクションデータベース１２０内に記憶され得る。一実施形態において、鍵は、安全なトランザクションサーバ１３２〜１３３のいずれかによって生成された対称鍵である。しかしながら、後述される別の実施形態では、非対称鍵が使用される。この実施形態では、公開鍵／秘密鍵ペアが、安全なトランザクションサーバ１３２〜１３３によって生成されてもよい。次いで公開鍵は、安全なトランザクションサーバ１３２〜１３３によって記憶され得、関連する秘密鍵は、クライアントの安全な記憶装置１２０に記憶され得る。代替的な実施形態では、鍵（複数可）は、（例えば、安全なトランザクションサーバ１３２〜１３３ではなくむしろ認証デバイス又は認証デバイスインターフェースによって）クライアント１００上で生成されてもよい。本発明の基本原理は、任意の特定の種類の鍵又は鍵の生成方法に限定されるものではない。
【００２３】
安全な鍵プロビジョニングプロトコルが、安全な通信チャンネルを介してクライアントと鍵を共有するために一実施形態において用いられる。鍵プロビジョニングプロトコルの一例は、動的対称鍵プロビジョニングプロトコル（ＤＳＫＰＰ）である（例えば、リクエストフォーコメンツ（Request for Comments）（ＲＦＣ）６０６３を参照されたい）。しかしながら、本発明の基本原理は、いかなる特定の鍵プロビジョニングプロトコルにも限定されるものではない。特定の一実施形態において、クライアントは、公開鍵／秘密鍵ペアを生成し、公開鍵をサーバに送信し、これは、証明鍵を用いて証明され得る。
【００２４】
図２に示される具体的な詳細を参照すると、登録プロセスを開始するために、依拠当事者２０２は、デバイスの登録中に認証クライアント２０１によって提示されなければならないランダム生成チャレンジ（例えば、暗号化ナンス）を生成する。ランダムチャレンジは、限られた期間有効であり得る。それに応答して、認証クライアント２０１は、依拠当事者２０２との帯域外の安全な接続（例えば、帯域外トランザクション）を開始し、鍵プロビジョニングプロトコル（例えば、上述のＤＳＫＰＰプロトコル）を使用して依拠当事者２０２と通信する。安全な接続を開始するために、認証クライアント２０１は、依拠当事者２０２にランダムチャレンジを（潜在的にはランダムチャレンジに関して生成された署名と共に）提供し返してもよい。加えて、認証クライアント２０１は、ユーザの同一性（例えば、ユーザＩＤ又は他のコード）、及び（例えば、プロビジョニングされる認証デバイス（複数可）の種類を一意的に識別する認証証明ＩＤ（ＡＡＩＤ）を用いて）登録されたプロビジョニングされるべき認証デバイス（複数可）の同一性を伝送してもよい。
【００２５】
依拠当事者は、（例えば、ユーザアカウントデータベース内の）ユーザ名又はＩＤコードを用いてユーザの位置を特定し、（例えば、署名を使用して、又はランダムチャレンジを送信されたものと単純に比較して）ランダムチャレンジを検証し、認証デバイスの認証コード（例えば、ＡＡＩＤ）が送信された場合はそれを検証し、ユーザ及び認証デバイス（複数可）に関して安全なトランザクションデータベース（例えば、図１Ａ及び図１Ｂのデータベース１２０）内に新しいエントリを作成する。一実施形態では、依拠当事者は、認証のために依拠当事者が許容する認証デバイスのデータベースを維持する。依拠当事者は、プロビジョニングされる認証デバイス（複数可）が認証のために許容可能かどうかを判定するために、このデータベースをＡＡＩＤ（又は他の認証デバイス（複数可）コード）と照会してもよい。許容可能である場合、依拠当事者は、登録プロセスを進める。
【００２６】
一実施形態では、依拠当事者２０２は、プロビジョニングされる各認証デバイスに対して認証鍵を生成する。依拠当事者は、安全なデータベースへの鍵を書き、鍵プロビジョニングプロトコルを使用して認証クライアント２０１にこの鍵を送り返す。完了すると、認証デバイス及び依拠当事者２０２は、対称鍵が使用された場合には同じ鍵を共有し、非対称鍵が使用された場合には異なる鍵を共有する。例えば、非対称鍵が使用された場合、依拠当事者２０２は、公開鍵を記憶し、秘密鍵を認証クライアント２０１に提供してもよい。秘密鍵を依拠当事者２０２から受信すると、認証クライアント２０１は、この鍵を認証デバイス内にプロビジョニングする（認証デバイスに関連した安全な記憶装置内にそれを記憶する）。次いでこれは、（以下に説明するように）ユーザの認証中にこの鍵を使用し得る。代替的な実施形態では、鍵（複数可）は、認証クライアント２０１によって生成され、鍵プロビジョニングプロトコルは、鍵（複数可）を依拠当事者２０２に提供するために使用される。いずれの場合においても、プロビジョニングが完了すると、認証クライアント２０１及び依拠当事者２０２はそれぞれ鍵を有し、認証クライアント２０１は依拠当事者に完了を通知する。
【００２７】
図３は、プロビジョニングされた認証デバイスを用いたユーザ認証のための一連のトランザクションを示す。デバイス登録が（図２に説明されるように）完了すると、依拠当事者２０２は、クライアントのローカル認証デバイスにより生成された認証応答（時折「トークン」と称される）を、有効な認証応答として許容する。
【００２８】
図３に示される具体的な詳細を参照すると、認証を要求する依拠当事者２０２とのトランザクションをユーザが開始すること（例えば、依拠当事者のウェブサイトからの支払いを開始すること、プライベートユーザアカウントデータにアクセスすることなど）に応答して、依拠当事者２０２は、ランダムチャレンジ（例えば、暗号化ナンス）を含む認証リクエストを生成する。一実施形態では、ランダムチャレンジは、それに関連付けられる時間制限を有する（例えば、それは、規定の期間有効である）。依拠当事者はまた、認証のために認証クライアント２０１によって用いられる認証部を識別してもよい。上述のように、依拠当事者は、クライアント上で利用可能な各認証デバイスをプロビジョニングし得、プロビジョニングされた各認証部に対する公開鍵を記憶する。このように、依拠当事者は、使用される認証部を識別するために、認証部の公開鍵を使用してもよいし、又は、認証部ＩＤ（例えば、ＡＡＩＤ）を使用してもよい。代替的に、ユーザが選択し得る認証オプションのリストをクライアントに提供してもよい。
【００２９】
認証リクエストの受信に応答して、ユーザに、（例えば、認証アプリケーション／アプリ（app）のウェブページ又はＧＵＩの形態の）認証をリクエストするグラフィカルユーザインターフェース（ＧＵＩ）が提示されてもよい。次いでユーザは、認証を実行する（例えば、指紋リーダー上で指をスワイプするなど）。それに応答して、認証クライアント２０１は、認証部に関連した秘密鍵と共にランダムチャレンジへの署名を含む認証応答を生成する。これは、認証応答内のユーザＩＤコードなどの他の関連するデータも含み得る。
【００３０】
認証応答を受信すると、依拠当事者は、（例えば、認証部に関連した公開鍵を使用して）ランダムチャレンジへの署名を検証し、ユーザの同一性を確認し得る。認証が完了すると、ユーザは、例示されるように、依拠当事者との安全なトランザクションに入ることを許可される。
【００３１】
トランスポート層セキュリティ（ＴＬＳ）又は安全なソケット層（ＳＳＬ）などの安全な通信プロトコルが、図２及び図３に示されるトランザクションのいずれか又は全てに対して、依拠当事者２０１と認証クライアント２０２との間に安全な接続を確立するために使用され得る。
【００３２】
データ分析手法を用いた認証を実行するためのシステム及び方法
本発明の実施形態は、より大きな規模で認証に関連するデータを調べることによってユーザ及びデバイスの異なる挙動パターンを検出し、これらのパターンを使用してトランザクションの認証リスクを調節するための技術を含む。従来の認証システムは、ユーザ又はデバイスから来る単一のデータ信号、例えばパスワード又は暗号化応答などを分析し、この信号に基づいて最終的な認証決定を下す。対照的に、以下に説明する本発明の実施形態は、ユーザ認証に関連付けられる様々な異なる信号及びデータに基づいて、より大規模の分析を実行し、従来のシステムでは検出され得ない現行のトランザクションに関連する興味深いパターンを識別する。
【００３３】
言及したように、従来の認証システムは、ユーザパスワード及び認証鍵などの単一の認証データ源に基づく。サーバは一般的に、ユーザ記録内にユーザ認証データを記憶し、各認証イベントの間に適切な認証データを受信することを予想する。サーバは、バイナリチェックを実行する（すなわち、認証データの検証が成功すれば、ユーザは認証され、検証が失敗すれば、ユーザは認証されない）。このスキームは、今日の何千ものウェブサイトで成功裏に機能する。
【００３４】
ユーザがクライアントデバイスのバイオメトリック認証部を使用してサーバへ認証することを可能にする次世代の認証プロトコルにおいても、本質的な認証手法は、バイナリ検証、すなわち、認証部により提供される暗号化署名の検証に基づく。クライアントデバイスは複数の暗号化署名を提供し得るが、サーバはこれらの暗号化署名を単純に検証し、成功又は失敗の二分決定を下す。
【００３５】
そのようなシステムの不利点は、それらが高度な攻撃に対して脆弱であるということである。提供される認証データがサーバ側の検証を通過する限り、認証は成功と見なされる。しかしながら、クライアント側の認証部が侵害され、攻撃者が有効な認証データを生成し得る場合、これらのシステムは侵害される場合がある。より大きな規模でデータを調べることによって、より高度な分析を実行することなしには、そのような攻撃を検出し、適切に反応することは非常に困難である。
【００３６】
（図１Ａ及び図１Ｂ、図２、及び図３に関して上述したような）認証サーバに対してユーザを認証するためにクライアント側の認証部が使用されるシステムは、興味深いパターンを判定するために更に分析され得る興味深いデータ点上のアクセスを有する。そのようなシステムがより多くのデータを収集するほど、分析は上等になる。分析は、認証前、認証中、及び／又は認証後に実行されてもよい。例えば、一実施形態において、認証サーバは、特定のユーザの以前の認証試行全てを調べ、現行の認証動作がこのユーザに典型的なより大きなパターン内に収まるかどうかを確かめてもよい。それが典型的パターンから逸脱する場合、現行の動作はより典型的でなく、したがって信頼度が低い／リスクが高い。対照的に、現行の認証動作が以前のパターン内に収まる場合、システムは、ユーザを圧倒せず、追加の認証を要求しない決定、又は侵入性が低い認証技術を用いる決定を下してもよい。
【００３７】
図４Ａは、現行のパラメータに基づいてリスクのレベルを判定するようにデータ分析を実行するため、及び認証技術を選択するための論理が認証サーバ４５０上で実行される、本発明の一実施形態を示す。図４Ｂは、論理がクライアントデバイス４００に実装されている別の実施形態を示す。本発明の基礎原理は、分析がサーバ側で実行されるか又はクライアント側で実行されるかに関わらず同じままである。
【００３８】
まず図４Ａの実施形態を参照すると、例示的なクライアントデバイス４００は、１つ以上の明示的なユーザ認証デバイス４２０〜４２１及び／又は非侵入的認証技術４０５を使用してユーザを認証するための認証クライアント４１０を含む。明示的なユーザ認証デバイス４２０〜４２１は、指紋認証部、音声若しくは顔認識、網膜スキャン、又はユーザがＰＩＮなどの秘密のパスワードを入力することができるキーボード（仮想又は物理的）などの明示的なユーザ入力を要求する、任意の形態の認証を表す。
【００３９】
非侵入的認証技術４０５は、正規ユーザがクライアントデバイス４００を所持している可能性を判定するための関連するデータを収集するために使用され得る。限定ではなく一例として、非侵入的認証技術４０５には、ユーザの現在位置を（例えば、ＧＰＳ又は他の位置決定機構を介して）判定すること、及び、その現在位置を、エンドユーザが訪れたことが知られる位置（例えば、ユーザの「自宅」及び「職場」位置）と比較することが含まれ得る。例えば、クライアントデバイス４００の現在位置がユーザの職場である場合、これは、（例えば、認証デバイス４２０〜４２１のうちの１つによる）明示的なユーザ認証が要求されるかどうか、及び／又は明示的なユーザ認証のレベルの判定の際に、認証クライアント４１０によって使用され得る。
【００４０】
特定の一実施形態において、「位置」の定義は、（ＧＰＳのように）物理的座標のセットに結合されることはなく、代わりに、ピアデバイス又は他の種類のネットワークデバイスのセットの存在によって規定される。例えば、動作時に、クライアントの無線ネットワークアダプタ（例えば、Ｗｉｆｉアダプタ、ブルートゥースアダプタ、ＬＴＥアダプタなど）は、一貫した基準でピアネットワークデバイス（例えば、他のコンピュータ、携帯電話、タブレットなど）及びネットワークインフラストラクチャデバイス（例えば、Ｗｉｆｉアクセスポイント、セルタワーなど）のセットを「見る」ことができる。それゆえに、これらのデバイスの存在は、ユーザが動作時に認証のために使用することができる。他の位置は、ユーザが自宅にいるときと同様にしてデバイスの存在によって定義されることができる。
【００４１】
他の非侵入的認証技術４０５には、加速度計などのクライアントデバイス４００上のセンサからデータを収集することが含まれ得る。例えば、ユーザのバイオメトリックな歩行は、加速度計又は他の種類のセンサを、ユーザの正常な歩行パターンの歩行「指紋」を生成するように設計されたソフトウェア及び／又はハードウェアと組み合わせて使用することで測定され得る。更に、現在の温度、湿度、気圧、及び他の環境データが収集され、（例えば、現在の環境的測定値が、主張される現在位置とマッチすることを確認するために）クライアントデバイス４００の現在のものとされる位置に関する既知の環境データと比較されてもよい。加えて、非侵入的認証技術には、デバイス４２０〜４２１を使用した最後の明示的な認証成功からの時間を測定することが含まれ得る。この時間が短いほど、現在のユーザがクライアントデバイスの正規ユーザである可能性が高い。これら及び他の種類のデータを収集し分析して、現在のユーザがクライアントデバイス４００の正規ユーザである可能性（ひいては明示的なユーザ認証が要求される程度）を判定することができる。
【００４２】
上述のように、安全な記憶装置４２５は、認証デバイス２２０〜２２１のそれぞれに関連付けられる認証鍵を記憶するために使用され得る。認証鍵は、安全な通信チャンネルを介した依拠当事者２５０との通信に署名し、それを暗号化するために使用され得る。
【００４３】
一実施形態では、現行のパラメータ４０６が、依拠当事者認証サーバ４５０上で実行されるリスク分析モジュール４１１によってクライアントデバイス４００から収集される。多数の例示的なパラメータが以下に記載される。リスク分析モジュール４１１は、次いで、現行のパラメータ４０６を、認証サーバ４５０上の記憶装置内に維持されている履歴パラメータ及び閾値４３０と比較して、現行のトランザクションに対するリスクレベル４０７を判定することができる。一実施形態では、リスクレベル４０７は、現行のパラメータ４０６が、先の成功した認証中に収集された履歴パラメータ４３０から偏位する程度（例えば、現行のパラメータと履歴パラメータとの間の「距離」）、及び／又は、現行のパラメータ４０６が、先の不成功の認証試行若しくは不正な認証試行（これはより高いリスクを示す傾向がある）の間に収集された履歴パラメータ４３０と相関する程度を表す。以下に詳細に説明するように、一実施形態では、リスクレベル４０７は、（以下に詳細に説明する）現行のパラメータ４０６と履歴パラメータ４３０との間の距離を特定するための距離関数を使用する異常検出アルゴリズムを用いて判定される。
【００４４】
一実施形態では、検出されたリスクレベル４０７に基づいて、認証サーバ４５０が、ユーザを認証するために要求される認証技術４０８を選択する。概して、リスクレベル４０７が高いほど（例えば、「正常な」挙動を示すパラメータからの距離が長いほど）、認証は厳格度が高くなる。例えば、一実施形態において、リスクレベルが規定の閾値を超える場合、認証サーバ４５０は、１つ以上の明示的なユーザ認証デバイス４２０〜４２１を使用した認証を要求する場合がある。対照的に、規定の閾値未満のリスクレベルについては、非侵入的認証技術４０５で十分な場合がある。上述のように、依拠当事者から送信される認証リクエストには、暗号化ナンスなどの他の形態のセキュリティ関連データが含まれ得る。
【００４５】
依拠当事者から送信された認証リクエストに応答して、認証クライアント４１０は、（明示的な認証が要求される場合）１つ以上の規定の認証デバイス４２０〜４２１を用いて認証を実行するようユーザに指示する。ユーザが認証に成功した場合（例えば、指紋認証部に登録された指をスワイプした場合）、認証クライアント４１０は、認証成功を示す認証応答を送り返す。認証クライアント４１０は、認証部の暗号鍵を用いて生成された暗号化ナンス及び／又は署名などの認証応答と共に、他のセキュリティ関連データを送信してもよい。認証サーバ４５０は、次いで、認証応答を検証し得る（例えば、暗号化ナンスを検証する、及び対応する認証部鍵を使用して署名を検証する）。検証が成功した場合、ユーザは、所望のトランザクションの実行を許可される。例えば、一実施形態において、認証サーバ４５０は、ユーザがトランザクションを完了させることを許可するように、認証成功の指標を依拠当事者ウェブサーバに送信してもよい。
【００４６】
一実施形態では、結果分析・更新モジュール４１２は、認証成功又は不成功の認証試行に関連したパラメータを分析して、履歴パラメータ及び閾値に対する更新４０９を生成する。例えば、認証が成功した場合、現行のパラメータ４０６は、認証成功に関連付けられる履歴パラメータ４３０として追加され得る（それによって、これらのパラメータに関連付けられる「リスク度」を低下させる）。対照的に、認証が不成功であった場合、及び／又は不正が検出された場合、結果分析・更新モジュール４１２により生成される更新は、現行のパラメータ４０６のうちの１つ以上を不成功の認証試行と関連付け得る（例えば、将来の認証試行におけるそれらのパラメータの存在が、より高いリスクを示すようにする）。例えば、現行のパラメータ４０６が、ユーザが以前に観察されていない位置にいることを示し、認証が不成功であった場合、結果分析・更新モジュール４１２は、この位置に関連付けられるリスクを増加させるように、この位置に関連付けられる閾値及び／又は重みを更新してもよい。結果として得られるデータは、次いで、履歴認証パラメータ及び閾値データベース４３０と統合される。機械学習アルゴリズム（以下に説明される）を含む、様々な異なる種類のアルゴリズムが、履歴データに対する更新を提供するために結果分析・更新モジュール４１２によって使用され得る。
【００４７】
この様式で、結果分析・更新モジュール４１２は、新しい認証イベント（成功及び不成功）についての相関を連続的に分析及び生成し、応答として既存の履歴データ４３０を更新する。リスク分析モジュール４１１は、次いで、後の認証試行のために更新された履歴データ４３０を使用し得る。図４Ａ及び図４Ｂでは別々のモジュールとして示されているが、リスク分析モジュール４１１及び結果分析・更新モジュール４１２は、ユーザの行為に関するパラメータを連続的に評価し、履歴データベース４３０を更新するための、単一の統合された機械学習モジュールとして実装されてもよい。
【００４８】
一実施形態では、履歴パラメータ及び閾値４３０は、ユーザの「正常な」パターンのみに基づいて設定される。すなわち、不成功の認証イベント又は不正行為に関するデータを組み込むのではなく、履歴パラメータ４３０は、成功した認証イベントのみに関するデータを含むように更新され得る。それゆえに、この実施形態において、リスク分析モジュール４１１は、この正常なユーザプロファイルからの偏差を測定し、正常なユーザ挙動からの偏差の量に基づいて（例えば、後述のように１つ以上の閾値が超えられたかどうかに基づいて）リスクレベル４０７の生成を試行する。
【００４９】
図４Ｂは、リスク分析モジュール４１１及び結果分析・更新モジュール４１２が認証サーバ４５０上ではなく認証クライアント４１０内で（又は認証サーバ上での実装に加えて）実装される、ある実施形態を示す。図４Ａに示されるサーバ側の実施形態と同様に、この実施形態では、リスク分析モジュール４１１は、現行のパラメータ４０６と履歴パラメータ４３０との間の相関を評価して、現行のトランザクションに関連付けられるリスクレベル４０７を判定する。リスクレベル４０７に基づいて、認証クライアントは、１つ以上の認証技術４０８を選択し、認証結果を結果分析・更新モジュール４１２に提供し、これが次いで、現行のパラメータ４０６及び認証結果に基づいて、履歴パラメータ及び閾値を更新する。評価され得る様々な特定のパラメータ及び認証結果が、以下に提供される。
【００５０】
一実施形態では、リスクレベル４０７を判定するために収集及び評価されるパラメータには、各ユーザの同一性、及び、例えば、登録された認証デバイス（複数可）の種類を一意的に識別する認証証明ＩＤ（ＡＡＩＤ）を含む、認証サーバにて登録される認証部４２０〜４２１に関する様々なデータ；認証部登録中に交換される（そしてクライアント及び認証サーバ上の安全な記憶装置４２５に記憶される）鍵に関連付けられる鍵ＩＤ；鍵を用いて生成された暗号化署名を検証するために使用される暗号鍵データ；鍵を用いて署名が生成された回数を示す署名カウンタ；並びに認証部のそれぞれのバージョンを示す認証部バージョンが含まれ得る。加えて、リスクレベルを判定するために使用されるパラメータには、認証部のそれぞれに関連付けられるメタデータ、例えば、ＡＡＩＤ（上述）、認証部ベンダー、（例えば、認証部がクライアントの内部にあるか又は外部にあるかを示す）認証部の種類、認証因子（例えば、指紋、声紋、存在など）、並びに鍵保護方法（例えば、信頼される実行環境（Trusted Execution Environment）、セキュアエレメントなど）が含まれ得る。
【００５１】
より詳細な分析を実行するために、本発明の一実施形態は、以下の異なるパラメータのうちの１つ以上を収集及び分析する。
【００５２】
１．暗号鍵使用データに関するパラメータ
○動作のタイムスタンプ
○使用される鍵の鍵ＩＤ
○実行される認証動作
○署名検証の成功又は失敗の指標
○動作に関連付けられるトランザクションＩＤ
○この動作に関連付けられるトランザクションリスクスコア
○最終的なトランザクション認証ステータス（成功又は失敗）
【００５３】
２．鍵の状態遷移に関するパラメータ
○遷移のタイムスタンプ
○遷移鍵の鍵ＩＤ
○遷移する認証部の認証部バージョン
○遷移した状態（例えば、良好、攻撃下、登録解除、複製、侵害）
【００５４】
３．認証後の不正レポートに関するパラメータ
○不正のタイムスタンプ
○不正と報告されたトランザクションのトランザクションＩＤ
【００５５】
４．鍵の履歴セキュリティ強度に関するパラメータ
○サンプリングのタイムスタンプ
○暗号鍵の鍵ＩＤ
○サンプリング時までのセキュリティ強度
【００５６】
５．認証部の履歴セキュリティ強度に関するパラメータ
○サンプリングのタイムスタンプ
○認証部のＡＡＩＤ
○サンプリング時までのセキュリティ強度
【００５７】
６．代替的なデータ源から収集される追加のパラメータ
○ユーザデバイスＧＰＳ位置
○ユーザデバイス周囲のＷｉＦｉ情報
○ユーザデバイスのデジタル指紋
○ユーザのバイオメトリックデバイスから収集されるバイオメトリックスコア
【００５８】
７．ユーザ行為パラメータ
○ユーザ登録のタイムスタンプ
○最後のログイン成功のタイムスタンプ
○最後のローカル認証方法及びそのタイムスタンプ
【００５９】
一実施形態では、リスク分析モジュール４１１は、以下に規定された様式でパラメータを評価することによって現在リスクレベル４０７を判定する。評価は、（１）クライアントデバイス上のＡＡＩＤ及び鍵に関するパラメータ、（２）ユーザ認証の時間に関するパラメータ、（３）クライアントデバイスの位置に関するパラメータ、（４）クライアントデバイスのネットワーク接続性に関するパラメータ、及び（５）（例えば、ユーザ認証試行に応答して）認証クライアントによって生成されたバイオメトリックスコアに関するパラメータに基づき得る。
【００６０】
１．ＡＡＩＤ及び鍵
一実施形態では、暗号鍵又はＡＡＩＤが過去に成功裏に使用された回数が、暗号鍵又はＡＡＩＤの使用に関連付けられるリスクを減少させる。対照的に、暗号鍵又はＡＡＩＤが不成功の認証試行又は不正の試みに関連付けられた回数は、その暗号鍵又はＡＡＩＤに関連付けられるリスクを増加させる。一実施形態では、成功した認証試行の数は、他の暗号鍵又はＡＡＩＤを使用した認証試行と比較されてもよい。この鍵／ＡＡＩＤが他の鍵／ＡＡＩＤよりも著しく低い頻度で使用されている場合、これは、その使用に関連付けられるリスクレベルを上昇させ得る。
【００６１】
評価され得る他の変数には、暗号鍵が最後に使用されたとき、及びこのユーザがいずれかの認証部を最後に使用したときが含まれ得る。例えば、ユーザがその認証部（又はいずれかの認証部）を長期間にわたって（例えば、閾値を超えて）使用していない場合、これは、その認証部に関連付けられるリスクを増加させ得る。加えて、暗号鍵がこれまでに複製されたかどうか、及び／又はこのＡＡＩＤの鍵が複製されている頻度は、リスクを判定するものと見なされる（例えば、より多くの複製はより高いリスクを示す）。
【００６２】
評価され得る追加の変数は、この暗号鍵の状態が「攻撃下」に変更された（それによってより高いリスクを示す）頻度、このユーザが自身のアカウントから認証部を削除した回数、ユーザが特定のＡＡＩＤを登録／登録解除した回数、ユーザがこのＡＡＩＤを登録解除した頻度、ユーザがこのＡＡＩＤの登録解除を選択する前にユーザがそれを使用した時間の長さ；このベンダーからのいずれかの認証部が侵害された回数；この認証部バージョンが侵害された回数；このユーザが異なる規定の期間（例えば、過去２０秒、５分、６０分、１日、７日）以内に認証部の登録を試行した回数；及び、このユーザが最後の規定の期間（例えば、２０秒、５分、６０分、１日、７日）以内に認証部を使用して認証を試行した回数を含む。
【００６３】
２．認証の時間
一実施形態では、１日の間にユーザが典型的に認証をリクエストする期間、１日／１週間／１ヶ月当たりにユーザが典型的に認証をリクエストする回数が、リスクを判定するために評価され得る。例えば、現行の認証リクエストが典型的な時間及び／若しくは日でない場合、かつ／又は、１日／１週間／１ヶ月当たりに認証がリクエストされた回数が異常である場合、これは、不正行為を示し得る。評価され得る別の変数は、これがこの特定の認証部を用いた認証に適切な時間であるかどうかに関する指標である。
【００６４】
３．位置
一実施形態では、リスクを判定するために評価される位置変数は、この認証部が現在位置近くで見られた回数、この認証部が所与の位置近くで最後に見られたとき、この位置近くで過去に見られた不正の量、このＡＡＩＤを使用してこの位置で見られた不正の量、このユーザの正常な位置からのこの位置の距離、ユーザが最後に認証した位置からのこの位置の距離、及びこの位置／国に関連する一般的リスクを含む。
【００６５】
４．ネットワーク接続性
一実施形態では、リスクを判定するために評価されるネットワーク変数は、このユーザ／鍵が所与のＷｉＦｉ（又は他のネットワーク）範囲近くで見られた回数；所与のＷｉＦｉ（又は他のネットワーク）範囲内のデバイスが不正行為に関与した回数；及び所与のＷｉＦｉが現在のものとされる位置で本当に利用可能である可能性を含む。
【００６６】
５．バイオメトリックスコア
一実施形態では、クライアントの認証部４２０〜４２１によって生成されるバイオメトリックスコアが、リスクを判定するために使用され得る。例えば、バイオメトリックスコアの統計平均が、このＡＡＩＤに関して判定され得る。現在スコアが平均から規定の距離にある場合、これは、より高いリスクを示し得る。加えて、この特定のユーザに関する平均バイオメトリックスコアは、現在スコアと比較されてもよい。またしても、現在スコアが平均から規定の距離にある場合、これは、より高いリスクを示し得る。
【００６７】
本発明の一実施形態において、機械学習技術が、不正行為及び／又は正規行為を示す特定のパラメータ（例えば上述したものなど）を識別するために用いられる。図５は、リスクを評価するためのパラメータの判定及び評価のための方法の一実施形態を示す。本方法は、図４Ａ及び図４Ｂに示されるシステムアーキテクチャのコンテキスト内で実施され得るが、いずれの特定のシステムアーキテクチャにも限定されない。
【００６８】
５０１において、不正行為と相関し得るいくつかのパラメータが選択される。一実施形態では、初期パラメータセットがトレーニングプロセスを使用して選択され、このプロセスでは、パラメータ及び認証結果が、パラメータと不正行為及び／又は正規行為との間の相関性を識別する機械学習アルゴリズムに対する入力として提供される。その最終結果は、正規行為及び／又は不正行為と高度に相関するある特定のパラメータが識別されるものである。
【００６９】
５０２において、１つ以上の閾値（Ｔ）が、パラメータの評価に基づいて選択される。一実施形態では、選択される閾値は、「不正な」、「疑わしい」、及び／又は「正常な」行為の間の境界を定義する。例えば、閾値は、認証試行が「正常」と見なされる時間の範囲について設定され得る。これらの範囲外の時間は、疑わしい又は不正と見なされ得、それに従ってリスクレベルを上昇させ得る。様々な他の閾値が、上述のパラメータのいずれか又は全てを使用して判定され得る。一実施形態では、閾値は、言及したように、不正行為／正規行為と様々なパラメータとの間の相関を識別する機械学習アルゴリズムによって、自動的に設定されてもよい。
【００７０】
初期パラメータ及び閾値が判定されたら、５０３において、現行のトランザクションに関するパラメータの距離が、既存の履歴パラメータと比較される。これは、一実施形態では、データセット間の相関性を判定することができる機械学習又は他のアルゴリズムを使用した数学的手法を用いて達成される。概して、「正常」パラメータまでの距離が長いほど、現行のトランザクションに関連付けられるリスクは高くなる。
【００７１】
評価後、５０４において、パラメータの最終値が、履歴データセットと比較したときに選択された閾値（複数可）の範囲内にあるかどうかに関する判定が下される。範囲内にない場合、５０５において、これは異常行為（例えば、疑わしい又は不正）であると判定され、ユーザは、厳格度のより高い認証技術（例えば、明示的なバイオメトリック認証）を使用して認証することを要求され得る。図４に示される実施形態では、リスクレベル４０７が上昇させられ、それによってより厳密な認証が要求され得る。パラメータが選択された閾値範囲内である場合、５０６において、このインタラクションは正常行為と見なされ、厳格度のより低い認証（例えば、上述のような非侵入的認証）が使用されてもよい（又は認証は使用されなくてもよい）。
【００７２】
いずれの場合においても、５０６において、履歴データが最新の認証結果を反映するように更新される。この様式で、疑わしい又は不正な行為を検出するために使用される履歴データは、新しいデータ点及び閾値を反映するように連続的に更新され得る。例えば、ユーザが特徴的でない位置から、又は異常な時間にトランザクションに入った場合、これは、５０５において異常行為として識別され得る。しかしながら、ユーザが認証に成功した場合、５０６において、履歴データは、この特定の位置及び時間において正規ユーザが認証したという事実を反映するように更新され得る。その結果、この特定の位置及び／若しくは時間は、もはや「異常」と見なされない場合がある、又はより正確に言えば、この位置及び／若しくは時間に関連する「リスク度」が低下する場合がある。
【００７３】
異なる数学的手法が、現行のトランザクションのパラメータと履歴パラメータとの間の「距離」を判定するため（例えば、図５の動作５０３）に使用されてもよい。１つの特定の手法は、ガウス分布に基づき得る異常検出として知られている。以下の説明は異常検出に焦点を当てるが、種々の他の機械学習アルゴリズムも適用され得る。
【００７４】
本発明の一実施形態に用いられる異常検出アルゴリズムが図６に示されている。６０１において、不正行為を示すために使用され得る初期パラメータセット（Ｐ1．．．Ｐm）が選択される。理想的には、パラメータは、不正行為及び／又は正規行為と最も強い相関を有するように選択される。上述のように、初期パラメータは、ある期間にわたって収集された既存の認証データを使用するトレーニングプロセスを用いて選択されてもよい。
【００７５】
６０２では、各パラメータ（Ｐi）について、既存のデータセット履歴（ｈ1．．．ｈm）を用いて、データセットは、それが十分にガウス性でない場合に正規化される。正規化されると、ガウス分布の平均（μ）及び分散（σ）パラメータが、データセット履歴（ｈ1．．．ｈm）に基づいて決定される。一実施形態では、これは、以下の方程式を使用して達成される。
【００７６】
【数１】
0006538821.tif 000002
【００７７】
６０３において、パラメータ（ｘ1．．．ｘm）を有する新しい各トランザクションについて、新しいパラメータそれぞれに関するガウス分布が、履歴に基づいて計算される。一実施形態では、これは、以下の方程式を用いて達成される。
【００７８】
【数２】
0006538821.tif 000003
【００７９】
６０４において、ｐ（ｘ）が、組み合わさった全てのパラメータに関して計算される。一実施形態では、これは、以下の方程式に従って達成される。
【００８０】
【数３】
0006538821.tif 000004
【００８１】
ｐ（ｘ）＜Ｔ（選択された閾値）であると６０５において判定された場合、これは、６０６において異常な挙動であると判定される。その結果、１つ以上の厳格な認証技術（例えば、明示的なバイオメトリック認証）がリクエストされ得る。しかしながら、ｐ（ｘ）≧Ｔである場合は、６０７において、インタラクションは正常行為として識別され、より厳密でない認証（例えば、上述の非侵入的認証）が要求されてもよいし、又は認証が要求されなくてもよい。
【００８２】
いずれの場合においても、６０８において、新しいパラメータ（Ｐ1．．．Ｐm）及び関連する認証結果を用いてデータセット履歴が更新される。例えば、認証が６０６で成功した場合、データセット履歴は、これらのパラメータに関連付けられる認証成功を反映するように更新され得る。
【００８３】
例示的なデータ処理デバイス
図７は、本発明のいくつかの実施形態において使用することができる例示的なクライアント及びサーバを例示するブロック図である。図７は、コンピュータシステムの様々な構成要素を例示しているが、そのような詳細は本発明に適切でないため、構成要素を相互接続する任意の特定のアーキテクチャ又は方法を表すことを意図するものではないことを理解すべきである。より少ない構成要素又は複数の構成要素を有する他のコンピュータシステムもまた、本発明によって使用可能であることが理解されるであろう。
【００８４】
図７に示されるように、データ処理システムの形態であるコンピュータシステム７００は、処理システム７２０に結合されているバス７５０と、電源７２５と、メモリ７３０と、不揮発性メモリ７４０（例えば、ハードドライブ、フラッシュメモリ、相変化メモリ（ＰＣＭ）など）とを含む。バス（複数可）７５０は、当該技術分野において周知であるように、様々なブリッジ、コントローラ及び／又はアダプタを介して互いに接続され得る。処理システム７２０は、メモリ７３０及び／又は不揮発性メモリ７４０から命令（複数可）を取得することができ、上述したように動作を実行するための命令を実行することができる。バス７５０は、上記構成要素を一体に相互接続し、また、任意のドック７６０、ディスプレイコントローラ及びディスプレイデバイス７７０、入力／出力デバイス７８０（例えば、ＮＩＣ（ネットワークインターフェースカード）、カーソル制御（例えば、マウス、タッチスクリーン、タッチパッドなど）、キーボードなど）及び任意の無線送受信機（複数可）７９０（例えば、ブルートゥース、ＷｉＦｉ、赤外線など）にそれらの構成要素を相互接続する。
【００８５】
図８は、本発明のいくつかの実施形態において使用され得る例示的なデータ処理システムを例示するブロック図である。例えば、データ処理システム８００は、ハンドヘルドコンピュータ、パーソナルディジタルアシスタント（ＰＤＡ）、携帯電話、ポータブルゲームシステム、ポータブルメディアプレーヤ、タブレット、又は、携帯電話、メディアプレーヤ及び／又はゲームシステムを含むことができるハンドヘルドコンピューティングデバイスとすることができる。他の例として、データ処理システム８００は、ネットワークコンピュータ又は他のデバイス内の埋め込み処理デバイスとすることができる。
【００８６】
本発明の一実施形態によれば、データ処理システム８００の例示的なアーキテクチャは、上述した携帯機器のために使用することができる。データ処理システム８００は、集積回路上の１つ以上のマイクロプロセッサ及び／又はシステムを含むことができる処理システム８２０を含む。処理システム８２０は、メモリ８１０、（１つ以上のバッテリを含む）電源８２５、オーディオ入力／出力８４０、ディスプレイコントローラ及びディスプレイデバイス８６０、任意の入力／出力８５０、入力デバイス（複数可）８７０及び無線送受信機（複数可）８３０に連結されている。図８には示されていない追加の構成要素はまた、本発明の特定の実施形態においてデータ処理システム８００の一部であってもよく、本発明の特定の実施形態において図８に示されるよりも少ない構成要素が使用可能であることが理解されるであろう。更に、図８には示されていない１つ以上のバスは、当該技術分野において周知であるように様々な構成要素を相互接続するために使用することができることが理解されるであろう。
【００８７】
メモリ８１０は、データ処理システム８００による実行のためのデータ及び／又はプログラムを記憶する。オーディオ入力／出力８４０は、例えば、音楽を再生するためにマイクロフォン及び／又はスピーカを含むことができ、並びに／又はスピーカ及びマイクロフォンを介して電話機能を提供することができる。ディスプレイコントローラ及びディスプレイデバイス８６０は、グラフィカルユーザインターフェース（ＧＵＩ）を含むことができる。無線（例えば、ＲＦ）送受信機８３０（例えば、ＷｉＦｉ送受信機、赤外線送受信機、ブルートゥース送受信機、無線携帯電話送受信機など）は、他のデータ処理システムと通信するために使用することができる。１つ以上の入力デバイス８７０は、ユーザがシステムに入力を提供するのを可能にする。これらの入力デバイスは、キーパッド、キーボード、タッチパネル、マルチタッチパネルなどであってもよい。任意の他の入力／出力８５０は、ドック用コネクタであってもよい。
【００８８】
上述したように、本発明の実施形態は、様々な工程を含んでもよい。工程は、汎用又は特殊目的のプロセッサに特定の工程を実行させる機械実行可能な命令で具現化され得る。代替的に、これらの工程は、工程を実行するためのハードワイヤードロジックを含む特定のハードウェア構成要素によって又はプログラミングされたコンピュータ構成要素及びカスタムハードウェア構成要素の任意の組み合わせによって実行することができる。
【００８９】
本発明の要素はまた、機械実行可能なプログラムコードを記憶する機械可読媒体として提供することができる。機械可読媒体としては、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ及び光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、又は、電子プログラムコードを記憶するのに適した他の種類の媒体／機械可読媒体を挙げることができるが、これらに限定されるものではない。
【００９０】
上記の説明全体を通じて、説明の目的のために、多数の具体的な詳細が本発明の完全な理解を提供するために記載された。しかしながら、本発明は、これらの具体的な詳細の一部がなくても実施され得ることは、当業者にとって明らかであろう。例えば、本明細書に記載された機能モジュール及び方法は、ソフトウェア、ハードウェア又はそれらの任意の組み合わせとして実装されてもよいことは、当業者にとって容易に明らかであろう。更に、本発明のいくつかの実施形態は、モバイルコンピューティング環境のコンテキストで本明細書において記載されているが、本発明の基本原理は、モバイルコンピューティングの実装に限定されるものではない。実質的に任意の種類のクライアント又はピアデータ処理デバイスは、例えば、デスクトップ又はワークステーションコンピュータを含むいくつかの実施形態で使用することができる。したがって、本発明の範囲及び趣旨は、以下の特許請求の範囲の観点から判断されるべきである。
【００９１】
上述したように、本発明の実施形態は、様々な工程を含んでもよい。工程は、汎用又は特殊目的のプロセッサに特定の工程を実行させる機械実行可能な命令で具現化され得る。代替的に、これらの工程は、工程を実行するためのハードワイヤードロジックを含む特定のハードウェア構成要素によって又はプログラミングされたコンピュータ構成要素及びカスタムハードウェア構成要素の任意の組み合わせによって実行することができる。
【図１Ａ】
0006538821.tif 000005
【図１Ｂ】
0006538821.tif 000006
【図２】
0006538821.tif 000007
【図３】
0006538821.tif 000008
【図４Ａ】
0006538821.tif 000009
【図４Ｂ】
0006538821.tif 000010
【図５】
0006538821.tif 000011
【図６】
0006538821.tif 000012
【図７】
0006538821.tif 000013
【図８】
0006538821.tif 000014