IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フェイステック・インコーポレイテッドの特許一覧

特表2024-535125監視および/または制御されたカメラサイクルをともなう顔認識および/または認証システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-26
(54)【発明の名称】監視および/または制御されたカメラサイクルをともなう顔認識および/または認証システム
(51)【国際特許分類】
   G06F 21/31 20130101AFI20240918BHJP
   G06T 7/00 20170101ALI20240918BHJP
   G06V 40/16 20220101ALI20240918BHJP
【FI】
G06F21/31
G06T7/00 510F
G06V40/16 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024539230
(86)(22)【出願日】2022-09-07
(85)【翻訳文提出日】2024-05-02
(86)【国際出願番号】 US2022042806
(87)【国際公開番号】W WO2023039003
(87)【国際公開日】2023-03-16
(31)【優先権主張番号】63/241,511
(32)【優先日】2021-09-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】524086991
【氏名又は名称】フェイステック・インコーポレイテッド
【氏名又は名称原語表記】FACETEC, INC.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】タシー,ケビン・アラン
(72)【発明者】
【氏名】ジョシュ,ローズ
(72)【発明者】
【氏名】ヘディンガー,ハンター
【テーマコード(参考)】
5B043
【Fターム(参考)】
5B043BA04
5B043CA03
5B043CA05
(57)【要約】
カメラからのビデオフィードを利用する認証セッションを開始することを含む、認証セッション中にビデオフィード注入を検出する方法、認証セッション中にユーザのビデオをキャプチャするために使用される計算デバイスのカメラ部分。次に、ビデオフィードを得るためにカメラを起動し、要求されたビデオフィードを監視し、ビデオフィードを受信する。カメラの起動とビデオフィードの受信との間の時間遅延を検出する。時間遅延を予想遅延または予想遅延範囲に比較し、時間遅延が予想遅延または予想遅延範囲と一致しない場合は、認証セッションを終了する。任意に選べることとして、時間遅延が予想遅延、予想遅延範囲、またはその両方と一致しなかったことの通知を提供する。この方法が行われる回数は、ランダムな回数繰り返されてよい。
【特許請求の範囲】
【請求項1】
認証セッション中にビデオフィード注入を検出する方法であって、
認証セッション中にユーザのビデオをキャプチャするために使用される計算デバイスのカメラからのビデオフィードを利用する前記認証セッションを開始することと、
ビデオフィードを要求することと、
前記ビデオフィードの受信を監視することと、
受信されたビデオフィードを受信することと、
前記ビデオフィードを要求することと前記受信されたビデオフィードを受信することとの間の時間間隔を検出することと、
前記時間間隔を予想時間間隔に比較することと、
前記時間間隔が予想時間間隔と一致しない場合に、前記認証セッションを終了することとを含む、方法。
【請求項2】
前記時間間隔が予想時間間隔と一致しない場合に、前記ビデオフィードをビデオ注入であると指定する、請求項1に記載の方法。
【請求項3】
前記ビデオフィードは前記ユーザの顔のものである、請求項1に記載の方法。
【請求項4】
前記ビデオフィードの前記要求をある程度の期間にわたって終了することと、
前記ある程度の期間の後に、前記ビデオフィードを再度要求することと、
前記ビデオフィードの前記要求を終了することと前記ビデオフィードを再度要求することとの間の第2の時間間隔を検出することと、
前記第2の時間間隔を第2の予想時間間隔に比較することと、
前記第2の時間間隔が前記第2の予想時間間隔と一致しない場合に、前記認証セッションを終了することとをさらに含む、
請求項1に記載の方法。
【請求項5】
ある程度の期間をランダムに変更することをさらに含む、請求項4に記載の方法。
【請求項6】
前記計算デバイスはスマートフォンであり、ビデオフィードの前記要求は前記スマートフォンのオペレーティングシステムへ送信される、請求項1に記載の方法。
【請求項7】
前記予想遅延は、カメラが起動時にビデオフィードを出力するのにかかる時間である、請求項1に記載の方法。
【請求項8】
以下のステップ、
ビデオフィードを要求することと、
前記ビデオフィードの受信を監視することと、
受信されたビデオフィードを受信することと、
前記ビデオフィードを要求することと前記受信されたビデオフィードを受信することとの間の時間間隔を検出することと、
前記時間間隔を予想時間間隔に比較することと、
前記時間間隔が予想時間間隔と一致しない場合に、前記認証セッションを終了することと、が2回以上実行される、請求項1に記載の方法。
【請求項9】
物理的なカメラから出力される実際のビデオの代わりにビデオ注入を検出する方法であって、
物理的なカメラからのビデオフィードを第1の要求で要求することと、
前記第1の要求に応じて受信されたビデオフィードを受信することと、
ビデオフィードの前記要求をある程度の期間にわたって終了することと、
前記ある程度の期間の後に前記物理的なカメラからのビデオフィードを第2の要求で要求することと、
第2の受信されたビデオフィードを受信することと、
前記ビデオフィードの前記要求を前記終了することと前記第2の受信ビデオフィードの受信との間の時間間隔を判断することと、
前記時間間隔を予想時間間隔に比較することであって、前記予想時間間隔が、予想カメラ遅延とビデオフィードの前記要求が終了された前記ある程度の期間とを含む、比較することと、
前記比較することに応じて、前記時間間隔が前記予想時間間隔と異なると判断することと、ビデオ注入検出の通知を送信することとを含む、方法。
【請求項10】
前記ある程度の時間はランダムな時間を含む、請求項9に記載の方法。
【請求項11】
前記第1の要求は、オペレーティングシステムまたはブラウザへ送信される、請求項9に記載の方法。
【請求項12】
前記予想カメラ遅延は、前記物理的なカメラが、ビデオフィードの前記要求を受信した際に、ビデオフィードを出力するのにかかる時間である、請求項11に記載の方法。
【請求項13】
前記第1の要求に応じて前記ビデオフィードをある程度の期間にわたって受信することと、
前記ビデオフィードを前記終了することの前に、前記ビデオフィードが受信されるある程度の期間を判断することと、
前記ビデオフィードが受信される前記期間を前記物理的なカメラがオンであった期間に比較することと、
前記ビデオフィードが受信された前記期間が前記カメラがオンであった前記期間と異なることに応じて、ビデオ注入検出の通知を送信することとをさらに含む、
請求項9に記載の方法。
【請求項14】
請求項1に記載の前記ステップをランダムな回数繰り返すことをさらに含む、請求項9に記載の方法。
【請求項15】
認証セッション中にビデオ注入を検出するシステムであって、
カメラ、画面、プロセッサ、および前記プロセッサによって実行可能な非一時的機械可読コードで構成されたメモリを有する計算デバイスであって、前記機械可読コードが、
物理的なカメラからのビデオフィードを第1の要求で要求し、
前記第1の要求に応じて前記ビデオフィードを受信し、
前記ビデオフィードを要求することと前記ビデオフィードを受信することとの間の時間間隔を検出し、
前記時間間隔をカメラ起動時間を表す予想時間間隔に比較し、
前記時間間隔が前記予想時間間隔外である場合に、前記認証セッションを停止し、
要求するステップ、受信するステップ、検出するステップ、および比較するステップをランダムな回数繰り返す、ように構成される、計算デバイスを備える、システム。
【請求項16】
前記機械可読コードはさらに、ある程度の時間にわたって前記ビデオフィードの受信を終了し、第2の予想時間間隔を作成するために、この時間を前記予想時間間隔に加え、
前記時間間隔を前記第2の予想時間間隔に比較し、かつ
前記時間間隔が前記第2の予想時間間隔外である場合に、前記認証セッションを停止するように構成される、請求項15に記載のシステム。
【請求項17】
前記ある程度の時間は、各認証セッションを変更するランダムな時間である、請求項16に記載のシステム。
【請求項18】
前記カメラ起動時間は、前記物理的なカメラが、ビデオフィードの前記要求を受信した際に、ビデオフィードを出力するのにかかる時間である、請求項15に記載のシステム。
【請求項19】
前記機械可読コードはさらに、
前記第1の要求に応じて前記ビデオフィードをある程度の期間にわたって受信し、
前記カメラを前記オフにする前に前記ビデオフィードが受信されるある程度の期間を判断し、
前記ビデオフィードが受信される前記期間を前記ビデオフィードが要求された前記期間に比較し、
前記ビデオフィードが受信された前記期間が前記ビデオフィードが要求された前記期間と異なることに応じて、ビデオ注入検出の通知を送信するように構成される、請求項15に記載のシステム。
【請求項20】
前記機械可読コードはさらに、前記認証セッションを終了する代わりに、前記時間間隔が前記予想時間間隔と異なることに応じて、要求するステップ、受信するステップ、検出するステップ、および比較するステップが行われる回数を増やすように構成される、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
背景
1.発明の分野
開示される実施形態はバイオメトリックセキュリティに関する。より具体的には、開示される実施形態は認証システムに関する。
【背景技術】
【0002】
2.関連技術
いくつかのユーザアカウントにアクセスするために使用され得るパーソナル電子デバイスの発展と、個人情報窃盗やその他のセキュリティ問題の脅威の増大にともない、電子デバイスでユーザアカウントに安全にアクセスする方法に対するニーズが高まっている。したがって、アカウント所有者は、大文字と小文字、数字、および他の記号の混合を使用するなど、様々な基準を満たすより長いパスワードを持つことがしばしば要求される。スマートフォン、スマートウォッチ、「モノのインターネット」(「IoT:Internet of Things」)デバイスなどのより小型の電子デバイスでは、アカウントへのアクセスが望まれるたびにそのような長いパスワードをデバイスに入力しようとすることが面倒になることがある。場合によっては、ユーザは、自身のデバイス上での不便さのために、そのような面倒なセキュリティ手段を無効化する決定をくだすことさえある。したがって、そのようなデバイスのユーザは、自身のユーザアカウントへの安全な別のアクセス方法を好む場合がある。
【0003】
そのような別の方法の1つは、バイオメトリクスを使用することであり得る。例えば、電子デバイスは、デバイスまたはアカウントへのアクセスを要求している人が認可されていると判断するためにユーザの指紋をスキャンできる光学式リーダを有する場合がある。しかしながら、そのような指紋システムは、多くの場合、安価な電子デバイス上で使用するには法外に大きく高価であり、多くの場合、信頼性と安全性が低いと考えられる。
【0004】
加えて、顔認識が一般に知られており、様々な状況で利用され得る。二次元顔認識は、ソーシャルネットワーク上の画像や写真編集ソフトウェアで人々をタグ付けするために一般的に使用されている。しかしながら、顔認識ソフトウェアは、十分に安全であるとは考えられていないため、アカウントへのアクセスを試みるユーザを安全に認証するために広く導入されてはいない。例えば、顔画像が撮影または録画され、その結果得られるユーザの画像を表示する印刷物やビデオ表示がシステムを騙すために利用されるおそれがあるため、二次元顔認識は安全ではないと考えられている。したがって、例えばユーザアカウントにログインしようとするユーザを認証する信頼性が高く、費用効果が高く、便利な方法が必要とされている。
【発明の概要】
【課題を解決するための手段】
【0005】
概要
開示される実施形態は上記に照らして開発されたものであり、本発明の態様は、ユーザの計算デバイスによって認証システムでユーザを登録し認証する方法を含み得る。ユーザのデバイスはカメラを含み、場合によっては、加速度計、磁力計、およびジャイロスコープなどの少なくとも1つの運動検出センサを含み、またはこの機能のためにカメラが使用される。
【0006】
認証セッション中にユーザのビデオをキャプチャするために使用される計算デバイスのカメラからのビデオフィードを利用する認証セッションを開始することを含む、認証セッション中にビデオフィード注入を検出する方法が開示される。ビデオフィードを得るためにカメラを起動し、ビデオフィードを監視し、受信されたビデオフィードを受信する。カメラの起動と受信されたビデオフィードの受信との間の時間遅延を検出し、時間遅延を予想遅延または予想遅延範囲に比較する。時間遅延が予想遅延または予想遅延範囲と一致しない場合は、認証セッションを終了し、予想遅延または予想遅延範囲、またはその両方に対する時間遅延の通知を提供する。
【0007】
一実施形態において、時間遅延が予想遅延または予想遅延範囲と一致しない場合は、ビデオフィードをビデオ注入であると指定する。カメラからのビデオフィードは、ユーザの顔のビデオフィードであってよい。この方法は、カメラをオフにすることと、カメラを起動することと、カメラがオフであった間にビデオフィードが検出されたかどうかを判断するためにビデオフィードを監視することと、カメラがオフであった間にビデオフィードが検出された場合に、認証セッションを終了することと、予想遅延または予想遅延範囲、またはその両方に対する時間遅延の通知を提供することとをさらに含み得る。一実施形態において、この方法は、カメラをオフにすることとカメラをオンにすることとの間の時間の長さをランダムに変更することと、カメラがオフであったランダムな時間中にビデオフィードが受信されなかったことを検証することとをさらに含む。一構成では、計算デバイスはスマートフォンである。予想遅延は、カメラが起動時にビデオフィードを出力するのにかかる時間であると考えられる。上述した方法は1回以上繰り返すことができ、その結果、以下のステップ、すなわち、ビデオフィードを得るためにカメラを起動するステップ、要求されたビデオフィードを監視するステップ、ビデオフィードを受信するステップ、ビデオフィードの要求から受信までの時間遅延を検出するステップ、時間遅延を予想遅延または予想遅延範囲に比較するステップは、2回以上実行される。
【0008】
物理的なカメラからのビデオフィードを第1の要求で要求することと、第1の要求に応じてビデオフィードを受信することと、ある程度の時間にわたってカメラをオフにすることとを含む、物理的なカメラから出力される実際のビデオの代わりにビデオ注入を検出する方法も開示される。次いで、この方法は、ある程度の時間の後に物理的なカメラからのビデオフィードを第2の要求で要求する前に、ある程度の時間にわたってカメラがオフである間にビデオフィードを監視する。カメラがオフであったある程度の時間中にビデオフィードが受信されたかどうかを判断する。カメラがオフであったある程度の時間中にビデオフィードが受信されたことに応じて、ビデオ注入検出の通知を送信する。通知は、ユーザ、認証アプリケーション、またはサードパーティエンティティへ送信できる。
【0009】
ある程度の時間は、所定の時間またはランダムな時間を含むと考えられる。この方法は、物理的なカメラからのビデオフィードを第1の要求で要求することとビデオフィードを受信することとの間の時間の長さを判断することをさらに含み得る。次に、物理的なカメラからのビデオフィードを第1の要求で要求することとビデオフィードを受信することとの間の時間の長さを、予想遅延に比較する。その後、任意に選べることとして、時間の長さが予想遅延と一致しない場合は、ビデオ注入の通知を提供する。
【0010】
一構成では、予想遅延は、物理的なカメラが、ビデオフィードの要求を受信した際に、ビデオフィードを出力するのにかかる時間である。この方法は、第1の要求に応じてビデオフィードをある程度の期間にわたって受信することと、カメラをオフにする前にビデオフィードが受信される期間を判断することとをさらに含み得る。次に、ビデオフィードが受信される期間を物理的なカメラがオンであった期間に比較する。ビデオフィードが受信された期間がカメラがオンであった期間と異なることに応じて、ビデオ注入検出の通知を送信する。
【0011】
この方法はまた、カメラをある程度の時間にわたってオフにすることと、カメラがある程度の時間にわたってオフになっている間にビデオフィードを監視することとをさらに含み得る。次に、ある程度の時間の後に物理的なカメラからのビデオフィードを第2の要求で要求し、カメラがオフであったある程度の時間中にビデオフィードが受信されたかどうかを判断する。カメラがオフであったある程度の時間中にビデオフィードが受信されたことに応じて、ビデオ注入検出の通知を送信する。
【0012】
認証セッション中にビデオ注入を検出するシステムも本書で開示される。このシステムは、カメラ、画面、プロセッサ、およびプロセッサによって実行可能な非一時的機械可読コードで構成されたメモリを有する計算デバイスを備える。機械可読コードは、物理的なカメラからのビデオフィードを第1の要求で要求し、第1の要求に応じてビデオフィードを受信するように構成される。カメラからのビデオフィードを要求することとビデオフィードを受信することとの間の時間差を検出または判断し、次いで、その時間差をカメラ起動時間に関連する予想時間差ウィンドウまたは範囲に比較する。時間差が予想時間差範囲外である場合は、認証セッションを停止する。その後、ある程度の時間にわたってカメラをオフにし、ある程度の時間にわたってカメラがオフになっている間にビデオフィードを監視する。カメラがオフになっている間にビデオフィードが受信される場合は、認証セッションを停止する。その後、ある程度の時間の後に物理的なカメラからのビデオフィードを第2の要求で要求する。
【0013】
一実施形態において、ある程度の時間は、各認証セッションを変更するランダムな時間を含む。予想遅延は、物理的なカメラが、ビデオフィードの要求を受信した際に、ビデオフィードを出力するのにかかる時間であると考えられる。機械可読コードはさらに、第1の要求に応じてビデオフィードをある程度の期間にわたって受信し、かつカメラをオフにする前にビデオフィードが受信される期間を判断するように構成されてよい。次に、ビデオフィードが受信される期間を物理的なカメラがオンであった期間に比較する。ビデオフィードが受信された期間がカメラがオンであった期間と異なることに応じて、ビデオ注入検出の通知を送信する。
【0014】
機械可読コードはさらに、カメラをランダムな時間にわたってオフにし、かつカメラがランダムな時間にわたってオフである間にビデオフィードを監視するように構成されてよい。次に、ある程度の時間の後に物理的なカメラからのビデオフィードを第2の要求で要求し、カメラがオフであったランダムな時間中にビデオフィードが受信されたかどうかを判断する。カメラがオフであったランダムな時間中にビデオフィードが受信されたことに応じて、ビデオ注入検出の通知を送信する。
【0015】
本発明の他のシステム、方法、特徴、および利点は、以下の図と詳細な説明を検討することによって当業者に明らかになるであろう。そのような追加のシステム、方法、特徴、および利点はすべて、この説明の中に含まれ、本発明の範囲内にあり、かつ添付の特許請求の範囲によって保護されることが意図されている。
【0016】
図面の簡単な説明
図の中の構成品は必ずしも縮尺通りではなく、代わりに、本発明の原理を説明することに重点が置かれている。図の中で同様の参照番号は、様々な表示の全体を通じて対応する部分を示す。
【図面の簡単な説明】
【0017】
図1】例示的な一実施形態による、顔認識認証システムの例示的な使用環境を示す。
図2】モバイルデバイスの例示的な実施形態を示す。
図3】モバイルデバイスおよびサーバの一部である例示的なソフトウェアモジュールを示す。
図4】一実施形態による顔認識認証を実行する方法を示す。
図5】例示的な一実施形態による、顔認識認証システムにユーザを登録する方法を示す。
図6A】例示的な一実施形態によるユーザの顔の周りでのモバイルデバイスの動きの一例を示す。
図6B】例示的な一実施形態によるユーザの顔の周りでのモバイルデバイスの動きの一例を示す。
図7A】例示的な一実施形態によるユーザの顔の周りでのモバイルデバイスの動きの一例を示す。
図7B】例示的な一実施形態によるユーザの顔の周りでのモバイルデバイスの動きの一例を示す。
図8】例示的な一実施形態による、顔認識認証システムで認証情報を提供する方法を示す。
図9】例示的な一実施形態による、顔認識認証システムで認証クレデンシャルを検証する方法を示す。
図10】顔認識認証システムでグラフィックおよび数値フィードバックを示す例示的な表示を示す。
図11A】顔認識認証システムにおける前面カメラ位置に対応する例示的なビデオフィードバック表示を示す。
図11B】顔認識認証システムにおける前面カメラ位置に対応する例示的なビデオフィードバック表示を示す。
図11C】顔認識認証システムにおける前面カメラ位置に対応する例示的なビデオフィードバック表示を示す。
図12】ディスプレイの側部の端の画素が水平方向に引き伸ばされている顔認識認証システムの例示的なビデオ表示フィードバックを示す。
図13A】ユーザがモバイルデバイスを自分の顔に近づけたり遠ざけたりするときにガイドとして機能する顔位置合わせインジケータが楕円として示された例示的な画面表示を示す。
図13B】ユーザがモバイルデバイスを自分の顔に近づけたり遠ざけたりするときにガイドとして機能する顔位置合わせインジケータが楕円として示された例示的な画面表示を示す。
図14】画素速度分析検出を用いてユーザの生気または三次元性を検証する方法を示す。
図15】撮影エリアと共にグラフィカルコード入力インターフェースを示す例示的なモバイルデバイス表示を示す。
図16】撮影エリアと共に数値およびグラフィックコード入力インターフェースを示す例示的なモバイルデバイス表示を示す図である。
図17】仮想カメラまたは他の出所からの注入カメラフィードを検出する例示的な方法を示す。
図18A】代替の作業方法を示す。
図18B】代替の作業方法を示す。
図19】カメラフィード要求オン/オフサイクルの一部としてカメラフィードオフ要求持続時間を制御することを含む例示的な作業方法を示す。
図20】ビデオ注入検出の代替の実施形態を示す。
【発明を実施するための形態】
【0018】
実施形態の詳細な説明
以下では、安全で便利な顔認識認証を提供するシステムおよび方法を説明する。システムおよび方法は、追加の高価なバイオメトリックリーダまたはシステムを必要とせずに達成でき、従来の顔認識システムより強化されたセキュリティを提供する。
【0019】
顔認識認証環境
図1は、本書で説明されている顔認識認証システムの例示的な使用環境を示す。これは、1つの可能な使用およびシステム環境にすぎない。当業者は、図に関連して以下に提供される明細書を読んだ後に、別の使用環境と構成に到達できると考えられる。
【0020】
この環境では、ユーザ108は、認証システムを通じてユーザのアカウントのうちのいずれか1つ以上にアクセスするために使用され得るモバイルデバイス112を所有できる。ユーザ108は、ユーザの顔の画像など、ユーザ108の画像をキャプチャできるモバイルデバイス112を所有できる。ユーザは、モバイルデバイス112上の、またはモバイルデバイスに接続された、カメラ114を使用して、自分自身の1つまたは複数の画像またはビデオをキャプチャできる。モバイルデバイス112は、静止画または動画の画像をキャプチャでき、画像の処理やネットワークを介した通信を実行できるあらゆるタイプのモバイルデバイスを含み得る。
【0021】
本実施形態において、ユーザ108は、画像をキャプチャするためにモバイルデバイス112を携帯し、保持できる。ユーザは、いくつもの他のデバイスを装着または保持することもできる。例えば、ユーザは1つ以上のカメラ134またはバイオセンサを内蔵する腕時計130を装着できる。カメラ134は、可視光ならびに赤外光から画像を作るように構成され得る。カメラ134は、加えて、または代わりに、暗い環境内で画像を得るために、画像増強、能動照明、またはサーマルビジョンを使用することもできる。
【0022】
ユーザ108に向けられたカメラ134は、ユーザの顔の画像をキャプチャできる。カメラ134は、Bluetooth(登録商標)、NFC、またはその他の方式などによってモバイルデバイス112と通信する通信能力、または有線もしくは無線リンク154を介してネットワーク116と直接通信する通信能力のいずれかを含み得るモジュールの一部であってよい。腕時計130は、ユーザが情報を見ることを可能にするために、その表面に画面を含み得る。カメラモジュール134がモバイルデバイス112と通信する場合は、モバイルデバイス134が通信をネットワーク116に中継できる。モバイルデバイス134は、3Dまたは立体視を提供するために、または近赤外光および可視光などの様々なスペクトル範囲にわたって画像を得るために、複数の前面カメラ114を用いて構成され得る。
【0023】
モバイルデバイス112は、ネットワーク116を介してリモートサーバ120と無線通信するように構成される。サーバ120は、1つ以上のデータベース124と通信できる。ネットワーク116は、LAN、WAN、PAN、またはインターネットを含むがこれらに限定されない、モバイルデバイスと通信できるあらゆるタイプのネットワークであってよい。モバイルデバイス112は、イーサネット(登録商標)、Wi-Fi、NFCなどの有線または無線接続を通じてネットワークと通信できる。サーバ120は、モバイルデバイス112と通信できるあらゆるタイプの計算デバイスを含み得る。サーバ120とモバイルデバイス112は、プロセッサとメモリを用いて構成され、メモリに格納された機械可読コードまたは機械命令を実行するように構成される。
【0024】
図示されているようにモバイルデバイスまたは遠隔地に格納されたデータベース124は、モバイルデバイス112または腕時計134から受信された1つ以上の画像またはバイオメトリック情報に基づいてユーザ108を識別して関連ユーザデータへのアクセスを許可するために、ユーザ108の顔バイオメトリック情報および認証情報を収容できる。データは、例えば、ユーザアカウントに関する情報や、別個のアカウント情報サーバ120Bへのアクセスを許可する命令であり得る。バイオメトリックデータという用語は、とりわけ、顔の特徴(歪んでいる、または歪んでいない)と経路パラメータに関するバイオメトリック情報を含み得る。経路パラメータの例は、モバイルデバイスの加速度および速度、画像キャプチャ中のモバイルデバイスの角度、モバイルデバイスのユーザまでの距離、ユーザに対するユーザの顔位置に対する経路方向、またはカメラに対するモバイルデバイスまたはユーザの顔の動きに関連する他のあらゆるタイプのパラメータを含み得る。GPSデータやデバイス識別情報といった他のデータも含まれ得る。
【0025】
本実施形態において、サーバ120は、モバイルデバイス112またはユーザ108からの識別の要求を処理する。一構成において、顔検出を使用してモバイルデバイス112によってキャプチャされる画像は、左右または水平の円弧または線、垂直の円弧または線、ユーザの顔から前後、または他の何らかの運動方向などでの、ユーザの顔に対するモバイルデバイスの移動中のユーザの顔108の1つ以上の画像を含む。別の構成では、モバイルデバイス112は、得られた画像からバイオメトリック情報を計算し、バイオメトリック情報をサーバ120へ送信する。さらに別の実施形態では、モバイルデバイス112は、バイオメトリック情報をモバイルデバイス112の格納されたバイオメトリック情報と比較し、比較からの認証結果をサーバ120へ送信する。
【0026】
画像、バイオメトリック情報、またはその両方を含むデータは、ネットワーク116を介してサーバ120へ送信される。サーバ120は、画像処理および画像認識アルゴリズムを使用して、顔データなどの人のバイオメトリック情報を処理し、バイオメトリック情報をデータベース124に格納されたバイオメトリックデータと比較して、一致の尤度を判断する。他の実施形態では、画像処理および比較がモバイルデバイス112上で行われ、サーバへ送信されるデータはその比較の結果を示す。さらなる実施形態では、例えば、モバイルデバイス112そのものへのアクセスを得るために、サーバにアクセスすることなくモバイルデバイス112上で画像処理および比較が行われる。
【0027】
顔認識処理を用いることにより、正確な個性照合を確立できる。これに基づき、また任意に1つ以上の他の判断材料に基づき、アクセスが許諾され得、または認可されていないユーザが拒否され得る。顔認識処理は当技術分野で周知であり(または確立されたプロセスであり)、それ故、本書では詳しく説明しない。
【0028】
関連する第2のデータベース124Bを有する第2のサーバ120Bと、関連する第3のデータベース124Cを有する第3のサーバ120Cも図示されている。第2および第3のデータベースは、サーバ120とデータベース124では入手できない追加情報を収容するために設けられ得る。例えば、追加のサーバのうちのいずれか1つは、サーバ120によって実行されるユーザ108の認証に基づいてのみアクセスされ得る。
【0029】
モバイルデバイス112上では1つ以上のソフトウェアアプリケーションが実行する。このソフトウェアは、本書では識別アプリケーション(ID App:identification application)と定義される。ID Appは、顔検出および顔認識のいずれか一方または両方と、経路パラメータおよび/またはバイオメトリックデータを監視する1つ以上のソフトウェアモジュールを用いて構成され得る。本書で使用される顔検出は、画像内の顔を検出するプロセスを指す。本書で使用される顔認識は、アルゴリズムを使用し、顔特徴をマッピングし、それらを数値データなどのバイオメトリックデータに変換して顔を分析できるプロセスを指す。バイオメトリックデータは、類似性または相違性について、1つ以上の異なる画像から導出されたものに比較できる。バイオメトリックデータで高い類似性パーセンテージが見つかる場合は、画像に示されている個人は一致とみなされ得る。
【0030】
ユーザを認証するために、ユーザの顔をデータベース124に格納された個性または画像と照合するという最終的な目標のもと、ID Appはまず、カメラ114、134によってキャプチャされた画像を処理して、画像内にある顔を識別し、その位置を特定することができる。図1に示されているように、顔108があり得る。オンラインアカウントにログインするために、または多数の他のアクセス制御機能のために、認証が使用され得る。
【0031】
次いで、検出された顔を含む写真の部分が、1つ以上の顔認識アルゴリズムによる処理のために切り取られ、カットされ、格納され得る。最初に画像内の顔を検出し、顔のその部分のみを切り取ることによって、顔認識アルゴリズムが画像全体を処理する必要はない。さらに、モバイルデバイス112から離れたサーバ120などで顔認識処理が行われる実施形態では、ネットワークを介して遠隔地へ送信する必要がある画像データがはるかに少なくなる。画像全体、切り取られた顔、またはバイオメトリックデータのみが処理のためにリモートサーバ120へ送信され得ることが考えられる。
【0032】
顔検出ソフトウェアは、様々な角度から顔を検出できる。しかしながら、顔認識アルゴリズムは、明るい状況で画像に対し真っすぐであるときに最も正確である。一実施形態では、キャプチャされた顔認識のための最高品質の顔画像が最初に処理され、次いで、より低い品質の顔の画像が、または顔に向かって真っすぐ以外の別の角度の顔の画像が、処理される。処理は、モバイルデバイス上で、または画像データや顔識別データの大規模データベースにアクセスできるリモートサーバで、行われ得る。
【0033】
顔検出は、モバイルデバイス上で行われ、ID Appなどのモバイルデバイスソフトウェアによって実行されるのが望ましい。これにより、顔が見つからない処理のためにサーバへ送信される画像(データ)の数またはサイズが削減され、ネットワークを介して送信しなければならないデータの全体量が最小限に抑えられる。これにより、帯域幅のニーズが下がり、ネットワーク速度要求が緩和される。
【0034】
別の好ましい実施形態では、顔検出、顔認識、およびバイオメトリック比較がすべてモバイルデバイス上で行われる。しかしながら、顔認識処理は、モバイルデバイス、リモートサーバ、またはその両方で行われ得ると考えられる。
【0035】
図2は、モバイルデバイスの例示的な実施形態を示す。これは可能な1つのモバイルデバイス構成にすぎず、したがって、当業者はモバイルデバイスを別様に構成し得ると考えられる。モバイルデバイス200は、以下で説明されているように実行することが可能なあらゆるタイプの移動通信デバイスを含み得る。モバイルデバイスは、PDA、携帯電話機、スマートフォン、タブレットPC、無線電子パッド、IoTデバイス、「ウェアラブル」電子デバイス、または他のあらゆる計算デバイスを含み得る。
【0036】
この例示的な実施形態において、モバイルデバイス200は、以下で説明する構成品を保護し収容するように構成された外側筐体204を用いて構成される。筐体204内には、プロセッサ208と第1および第2のバス212A、212B(集合的に212)とがある。プロセッサ208は、バス212を介してモバイルデバイス200の他の構成品と通信する。プロセッサ208は、本書で説明されているように実行できるあらゆるタイプのプロセッサまたはコントローラを含み得る。プロセッサ208は、汎用プロセッサ、ASIC、ARM、DSP、コントローラ、または他のあらゆるタイプの処理デバイスを含み得る。プロセッサ208とモバイルデバイス200の他の要素は、バッテリ220または他の電源から電力を受け取る。電気インターフェース224は、第2の電子デバイス、コンピュータ、医療デバイス、または電源/充電デバイスなどのモバイルデバイスと電気的に連係するための1つ以上の電気ポートを提供する。インターフェース224は、あらゆるタイプの電気インターフェースまたはコネクタ形式を含み得る。
【0037】
1つ以上のメモリ210は、プロセッサ208上で実行する機械可読コードを格納するための、および画像データ、オーディオデータ、ユーザデータ、医療データ、位置データ、加速度計データ、または他のあらゆるタイプのデータなどのデータを格納するための、モバイルデバイス200の一部である。メモリ210は、RAM、ROM、フラッシュメモリ、光学式メモリ、またはマイクロドライブメモリを含み得る。本書で説明されている機械可読コードは、非一時的である。
【0038】
本実施形態の一部として、プロセッサ208は、ユーザインターフェース216に接続する。ユーザインターフェース216は、モバイルデバイスを制御するためにユーザ入力を受け取るように構成されたあらゆるシステムまたはデバイスを含み得る。ユーザインターフェース216は、キーボード、ローラーボール、ボタン、ホイール、ポインタキー、タッチパッド、およびタッチスクリーンのうちのいずれか1つ以上を含み得る。バス212を通じて連係し、ディスプレイ228に接続する、タッチスクリーンコントローラ230も設けられる。
【0039】
ディスプレイは、ユーザに視覚情報を表示するように構成されたあらゆるタイプの表示画面を備える。画面は、LED、LCD、薄膜トランジスタ画面、OEL CSTN(color super twisted nematic)、TFT(thin film transistor)、TFD(thin film diode)、OLED(organic light-emitting diode)、AMOLEDディスプレイ(active-matrix organic light-emitting diode)、静電容量式タッチスクリーン、抵抗式タッチスクリーン、またはこれらの技術の任意の組み合わせを含み得る。ディスプレイ228は、プロセッサ208から信号を受信し、これらの信号は、当技術分野で理解されているように、ディスプレイによってテキストと画像に変換される。ディスプレイ228は、プロセッサ208と連係するディスプレイプロセッサ(図示せず)またはコントローラをさらに備え得る。タッチスクリーンコントローラ230は、ディスプレイ228上に重ねられたタッチスクリーンから信号を受信するように構成されたモジュールを備え得る。
【0040】
スピーカ234とマイクロフォン238もこの例示的なモバイルデバイスの一部である。スピーカ234とマイクロフォン238は、プロセッサ208によって制御され得る。マイクロフォン238は、プロセッサ208の制御に基づいてオーディオ信号を受信して電気信号に変換するように構成される。同様に、プロセッサ208は、オーディオ信号を生成するためにスピーカ234を作動させることができる。これらのデバイスは、当技術分野で理解されているように動作するので、本書では詳しく説明しない。
【0041】
バス212のうちのいずれか1つ以上には第1の無線トランシーバ240と第2の無線トランシーバ244も接続され、それらの各々はそれぞれのアンテナ248、252に接続する。第1および第2のトランシーバ240、244は、遠隔地の送信器から着信信号を受信し、かつそれらの信号に対してアナログフロントエンド処理を実行してアナログベースバンド信号を生成するように構成される。着信信号は、プロセッサ208による後々の処理のために、アナログデジタル変換器などによる変換によってデジタル形式にさらに処理され得る。同様に、第1および第2のトランシーバ240、244は、プロセッサ208からの、またはモバイルデバイス208の別の構成品からの、発信信号を受信し、かつ、それぞれのアンテナ248、252を介した送信のために、これらの信号をベースバンドからRF周波数にアップコンバートするように構成される。第1の無線トランシーバ240と第2の無線トランシーバ244と共に示されているが、モバイルデバイス200は、ただ1つのそのようなシステムを、または2つ以上のトランシーバを、有し得ると考えられる。例えば、一部のデバイスは、3帯域または4帯域対応であり、またはBluetooth(登録商標)、NFC、または他の通信能力を有する。
【0042】
モバイルデバイスは、したがって第1の無線トランシーバ240と第2の無線トランシーバ244は、Bluetooth、IEEE 802.11 a、b、g、nなどのWI-FI、無線LAN、WMAN、ブロードバンド固定アクセス、WiMAX、CDMAを含むセルラー技術、GSM(登録商標)、EDGE、3G、4G、5G、TDMA、AMPS、FRS、GMRS、市民帯域ラジオ、VHF、AM、FM、および無線USBを含むがこれらに限定されない、現在存在するあらゆる無線規格に従って、または将来開発されるあらゆる無線規格に従って、動作するように構成され得ることが考えられる。
【0043】
第2のバス212Bに接続された1つ以上のシステムもモバイルデバイスの一部であり、これらもプロセッサ208と連係する。これらのデバイスは、関連アンテナ262を有する全地球測位システム(GPS)モジュール260を含む。GPSモジュール260は、衛星や他のトランスポンダから信号を受信し処理して、GPSモジュール260の位置、進行方向、および速度に関する位置データを生成できる。GPSは当技術分野で一般的に理解されているので、本書では詳しく説明しない。ジャイロスコープ264は、モバイルデバイス204の向きに関する向きデータを生成して提供するために、バス212Bに接続する。磁力計268は、モバイルデバイス204に方向情報を提供するために設けられる。加速度計272は、モバイルデバイスが受ける衝撃または力に関する情報またはデータを提供するために、バス212Bに接続する。一構成において、加速度計272とジャイロスコープ264は、モバイルデバイスの移動経路および向きを示すためにデータを生成してプロセッサ208に提供する。
【0044】
メモリ210での格納のため、および/または無線もしくは有線リンクによる可能な伝送のため、または後ほど見るため、画像データをキャプチャするために1つ以上のカメラ(スチル、ビデオ、または両方)276が設けられる。1つ以上のカメラ276は、可視光および/または近赤外光を用いて画像を検出するように構成され得る。カメラ276はまた、暗い環境内で画像を得るために、画像増強、能動照明、またはサーマルビジョンを利用するように構成され得る。プロセッサ208は、顔検出、物品検出、顔認識、物品認識、またはバー/ボックスコード読み取りの場合などに、画像データを処理して画像認識を実行することができる。
【0045】
LEDライトなどのフラッシャおよび/またはフラッシュライト280が設けられ、プロセッサによる制御が可能である。フラッシャまたはフラッシュライト280は、ストロボや従来の懐中電灯として機能できる。フラッシャまたはフラッシュライト280はまた、近赤外光を放射するように構成され得る。電力管理モジュール284は、電力消費を管理し、バッテリ充電を制御し、異なる電力要件を必要とし得る様々なデバイスに供給電圧を供給するために、バッテリ220と連係する、またはバッテリ220を監視する。
【0046】
図3は、モバイルデバイスおよびサーバの一部である例示的なソフトウェアモジュールを示す。以下で説明する機能を提供するために、他のソフトウェアモジュールが設けられてもよい。本書で説明されている機能のために、機能を実行するように構成された照合ソフトウェア(非一時的機械可読コード、機械実行可能命令またはコード)があるものとする。このソフトウェアはメモリに格納され、プロセッサによって実行可能である。
【0047】
この例示的な確認では、モバイルデバイス304は、受信モジュール320と送信モジュール322とを含む。これらのソフトウェアモジュールは、カメラ、眼鏡、サーバ、携帯電話機中継塔、またはルータもしくはアクセスポイントなどのWIFIシステムなどのリモートデバイスにデータを送受信するように構成される。
【0048】
三角測量やGPSなどによりモバイルデバイスの位置を判断するように構成された位置検出モジュール324もモバイルデバイス304の一部である。アカウント設定を確立し、アカウント設定を格納し、ユーザがアカウント設定を調整できるようにするために、アカウント設定モジュール326が設けられる。ユーザがパスワード保護などによってモバイルデバイス304にログインできるようにするために、ログインモジュール328も設けられる。顔検出アルゴリズムを実行するために顔検出モジュール308が設けられ、顔認識モジュール321は、ユーザに固有の1つ以上の顔特徴(顔バイオメトリック情報)を表す数値を作成するなどのために、ユーザの顔または顔特徴を認識するソフトウェアコードを含む。
【0049】
情報表示モジュール314は、モバイルデバイスのユーザへの情報の表示を制御する。表示は、モバイルデバイスか腕時計の画面上で行われ得る。ユーザ入出力モジュール316は、ユーザからデータを受け取り、かつユーザにデータを表示するように構成される。ローカルインターフェース318は、Bluetooth(登録商標)または他の短距離通信を、またはコネクタを使用して接続されたカメラ、バッテリ、データ記憶素子に至る有線リンクを、使用するなどして、他のローカルデバイスと連係するように構成される。モバイルデバイス304に示されている(関連ハードウェアを有する)ソフトウェアはいずれも、本書で説明されている機能を提供するように動作する。
【0050】
図3には、サーバソフトウェアモジュール350も示されている。これらのモジュールは、モバイルデバイスから遠隔に配置され、どのサーバまたはリモート処理要素にでも配置できる。当技術分野で理解されているように、ネットワークとネットワークデータは、複数のサーバとデータベースが一緒に動作して統合サーバを提供する分散処理手法を用いる。その結果、サーバブロック350に示されているモジュールは、すべてが同じサーバに、または同じ物理的位置に、配置されない場合もあると考えられる。
【0051】
図3に示されているように、サーバ350は、受信モジュール352と送信モジュール354とを含む。これらのソフトウェアモジュールは、カメラ、腕時計、眼鏡、サーバ、携帯電話機中継塔、またはルータもしくはアクセスポイントなどのWIFIシステムなどのリモートデバイスにデータを送受信するように構成される。
【0052】
情報表示モジュール356は、サーバ350における情報表示を制御する。ユーザ入出力モジュール358は、ローカルインターフェースモジュール360と関連してユーザインターフェースを制御する。また、モバイルデバイスからの画像データを処理するように構成された顔認識モジュール366もシステムのサーバ側に配置される。顔認識モジュール366は、画像データを処理して顔データ(バイオメトリック情報)を生成し、他の顔データとの比較機能を実行して、識別判断の一部として顔の一致を判断できる。
【0053】
データベースインターフェース368は、サーバモジュールによって使用される情報を収容する1つ以上のデータベースとの通信を可能にする。位置検出モジュール370は、モバイルデバイス304からの位置データを、処理のために、かつ精度を高めるために、利用し得る。同様に、アカウント設定モジュール372は、ユーザアカウントを制御し、モバイルデバイス304のアカウント設定モジュール326と連係できる。1つ以上の他のサーバと連係し通信するために、セカンダリサーバインターフェース374が設けられる。
【0054】
データベースとの通信とデータベースの検索を容易にするために、1つ以上のデータベースまたはデータベースインターフェースが設けられる。この例示的な実施形態において、システムは、1人以上の人々の画像または画像データを収容する画像データベースを含む。このデータベースインターフェース362は、個性照合過程の一部として画像データユーザにアクセスするために使用され得る。個人データデータベースインターフェース376とプライバシー設定データモジュール364も本実施形態の一部である。これら2つのモジュール376、364は、個人のプライバシー設定を確立し、かつプライバシー設定を収容できるデータベースにアクセスするように動作する。
【0055】
認証システム
これより、上述した環境およびシステムで動作可能な、経路パラメータを有する、認証システムを、図4と関連して説明する。図4は、本発明の一実施形態による、経路パラメータを用いて顔認識認証を実行する方法を示す。以下でより詳しく説明するように、このシステムは、認証システムの一例として、上記で定義したモバイルデバイス112およびサーバ120の機能を利用して、安全で便利なログインシステムを作り出す。これにより、ユーザがモバイルデバイスの小さな画面に複雑なパスワードを入力しなければならない負担は軽減され、キーロギングやスクリーンショットキャプチャなどの手段による不正が防止され、ユーザが認証される前に満たされなければならないいくつかの経路パラメータおよび/またはデバイスパラメータを組み合わせることによってセキュリティが向上する。
【0056】
ステップ410では、システムが顔認識認証システムにユーザを登録する。一実施形態において、サーバ120(図1)などの認証サーバは、モバイルデバイス112を用いて、銀行口座やその他のアカウントなどのユーザのアカウントへのアクセスを許可するためにユーザを認証するように構成されてよい。認証サーバ120は、ユーザアカウントを提供する機関またはエンティティのサーバ(以下、「アカウントサーバ」)の一部として含まれてよく、または認証サーバは別個に設けられてもよい。例えば、図1に示されている環境では、サーバ120Bおよび120Cがアカウントサーバに相当し得る。別の実施形態では、アカウントサーバと認証サーバは一体である。一実施形態では、認証サーバ120は、モバイルデバイス112にインストールされる認証アプリケーションをユーザに提供できる。
【0057】
これより、図5を参照して一実施形態による登録プロセスを説明する。本実施形態において、ユーザは、ステップ510において、モバイルデバイス112を用いて、モバイルデバイス112とアカウントサーバ120Bとの接続を確立する。ほんの一例として、ユーザは、銀行などの金融機関のサーバとの接続を確立でき、またはこの接続は、認証後のプロセスの後のほうで行われてもよい。次いで、ユーザは、ステップ512において、金融口座のユーザ名およびパスワードなど、ユーザを認証するための典型的なログイン情報を提供する。ステップ514において、ユーザは次に、顔認識認証システムに登録するためのプロンプトをモバイルデバイス112で受信できる。次いで、ユーザは、ユーザインターフェースを通じて、プロンプトに応じて認証システムをセットアップしたい旨を伝える。
【0058】
次に、ステップ516では、モバイルデバイス112が認証サーバ120へデバイス情報を送信できる。このデバイス情報は、とりわけ、ユーザのモバイルデバイスを一意に識別するデバイス識別子を含み得る。そのような情報は、デバイス製造業者、型番、シリアル番号、およびモバイルネットワーク情報を含み得る。認証サーバ120がアカウントサーバ120Bと併合される場合は、ステップ518において、認証サーバ120がデバイス情報をユーザのアカウント情報と関連付けて格納する。認証サーバ120がアカウントサーバ120Bから独立している場合は、アカウントサーバ120Bがアカウント情報に関連する一意の識別子を生成し、一意の識別子を認証サーバ120へ送信することができる。認証サーバ120は、デバイス情報と一意の識別子を互いに関連付け、その情報をデータベース124に格納することができる。
【0059】
次にユーザは、ステップ510において、モバイルデバイス112上のカメラ114を使用して自分の顔の複数の画像を提供するように促される(以下、「登録画像」)。ユーザの顔の登録画像は、ユーザがモバイルデバイスを保持し、モバイルデバイスを自分の頭および顔に対して様々な位置に移動させるときに撮影される。したがって、ユーザの顔の登録画像は、多くの異なる角度または位置から撮影される。さらに、ステップ522では、モバイルデバイスの経路パラメータが監視され、将来の比較のために記録される。図6A図7Bには、ユーザがモバイルデバイスを保持し、自分の顔の複数の画像を撮影するいくつかの非限定的な例が示されている。
【0060】
図6Aおよび図6Bにおいて、ユーザは、自分の顔の片側にモバイルデバイス112を保持し、モバイルデバイス112が自分の顔の反対側になるまで、自分の顔の周りでモバイルデバイス112を水平に円弧状の経路で移動させる。図7Aおよび図7Bにおいて、ユーザは、モバイルデバイス112を顔から遠く離して保持し、次いでモバイルデバイス112を自分の顔に近づける。勿論、図6A図7Bに示されている経路に加えて、いくつもの他の経路を使用できる。加えて、カメラが固定されている間にユーザが自分の頭を動かしてもよい。ユーザは、カメラを安定した状態に保ち、カメラに対して自分の頭を動かすこともできる。したがって、この方法は、ラップトップもしくはデスクトップ上の、または同様に静止した位置もしくは物体にカメラが取り付けられているIoTデバイスなどの他の何らかのデバイス上の、ウェブカメラを用いて実施できる。
【0061】
登録画像は、以下のように得ることができる。ユーザは、カメラ114が備わったモバイルデバイス112を保持し、カメラ114がユーザの顔を撮影するように配置されるようにモバイルデバイス112の方向を定める。例えば、ユーザは、表示画面が備わったモバイルデバイス112上の前面カメラ114を使用し、自分の顔がカメラ114によって撮影される位置にあることを表示画面上で確認することができる。
【0062】
ユーザがデバイスの方向を定めると、デバイスはユーザの登録画像を得ることを開始できる。一実施形態において、ユーザは、タッチスクリーン上のボタンなどのデバイス112上のボタンを、またはデバイス上の他のボタンを、押して、登録画像を得ることを開始することができる。次にユーザは、上述したようにデバイスが複数の角度または位置からユーザの顔を撮影するときに、モバイルデバイスを自分の頭に対して様々な位置に移動させる。上述した前面カメラを使用する場合、ユーザは、表示画面で撮影を見ることによって自分の顔が撮影されていることを絶えず確認できる。ユーザは、撮影が完了したことを指示するためにボタンを再び押すことができる。あるいは、ユーザは、撮影中にボタンを押し続け、次いで撮影が完了したことを指示するためにボタンを離すこともできる。
【0063】
上述したように、モバイルデバイス112は顔検出を含み得る。本実施形態において、ステップ524では、モバイルデバイスが登録画像の各々でユーザの顔を検出し、ユーザの顔のみを含めるように画像を切り取り、ネットワークを介して認証サーバ120へ画像を送信することができる。ステップ526において、登録画像を受信した認証サーバ120は、画像に対して顔認識を実行して、ユーザのバイオメトリック情報(「登録バイオメトリクス」)を判断する。次いで、認証サーバ120は、ステップ528において、登録バイオメトリクスをデバイス情報および一意識別子(またはアカウント情報)と関連付け、バイオメトリック情報をデータベース124に格納することができる。さらなるセキュリティのため、ステップ530において、モバイルデバイス112と認証サーバ120は、ユーザの登録バイオメトリクスが得られた後に登録画像を削除するように構成されてよい。
【0064】
別の実施形態では、モバイルデバイス112が顔検出を実行せずに画像を認証サーバ120へ送信してもよい。次いで、認証サーバ120が、顔検出、顔認識、およびバイオメトリック情報処理を実行してよい。別の実施形態では、モバイルデバイス112が顔検出、顔認識、およびバイオメトリック処理を実行し、次いで、処理から得られた結果またはデータを、一意識別子またはユーザアカウントと関連付けるために、認証サーバ120へ送信ように構成されてもよい。これにより、機密性の高い個人データ(画像)がユーザのデバイスから出ることが防止される。さらに別の実施形態では、モバイルデバイス112が上述の各ステップを実行し、モバイルデバイス112が、登録バイオメトリクスも画像もサーバへ送信せずに、登録情報を格納してもよい。
【0065】
一実施形態において、モバイルデバイスのジャイロスコープ、磁力計、および加速度計は、ユーザが登録画像(経路パラメータ)を得るために自分の頭の周りでモバイルデバイスを移動させている間に、データを生成し、かつ格納するように構成される。モバイルデバイスは、ステップ532でこのデータを処理して、ユーザが自分の顔を撮影している間にモバイルデバイスが移動した経路または円弧(「登録移動」)を判断することができる。加速度計、磁力計、およびジャイロスコープからのデータを使用することによって、システムは、ユーザが自分自身のスキャンを開始する準備ができていることをチェックできるほか、スキャン経路を判断できる。したがって、スキャン期間をいつ開始し停止するかを判断するためにデータが使用される。データは、スキャン中に経過した時間をさらに含み得る。この時間は、ユーザが撮影を開始および停止するためにボタンを押すことから測定されてよく、または撮影中に、またはさらなる移動中に、または曲線運動を完了するために、ボタンが押下される持続時間から測定されてもよい。
【0066】
モバイルデバイス112の登録移動(画像キャプチャ中のモバイルデバイスの移動を明らかにしたデータ)は、認証サーバ120へ送信できる。認証サーバ120は、登録移動、登録バイオメトリクス、デバイス情報、および一意識別子またはアカウント情報を関連付けて格納する。あるいは、ジャイロスコープ、磁力計、および加速度計によって生成されるデータがサーバ120へ送信されてもよく、サーバ120がデータを処理して登録移動を判断してもよい。別の実施形態では、登録移動がモバイルデバイス112に格納されてもよく、この場合は、すべての登録情報がモバイルデバイス112上で維持される。
【0067】
したがって、上述した実施形態では、登録情報は、デバイス情報と、登録バイオメトリクスと、(モバイルデバイス112の移動に基づく)登録移動とを含み得る。
【0068】
図4に戻り、登録が完了すると、認証サーバ120は後ほど、ステップ420に示されているように、システムで認証しようとするユーザからクレデンシャルを受信できる。例えば、ユーザは、ユーザアカウントへのログインを試みることができる。ユーザは、ログインしようとするときに、ユーザ名およびパスワードなどの典型的なアカウントクレデンシャルを提供する代わりに、またはユーザ名およびパスワードなどの典型的なアカウントクレデンシャルを提供することに加えて、(例えば、図6A図7Bに示されているように)登録時と同じ要領でモバイルデバイス112が手に保持され、頭に対して様々な位置に移動されるときに、自分の顔の複数の画像またはビデオを再び撮影することができる(「認証画像」)。このようにして、ユーザは、多くの異なる角度および/または位置から必要な画像を提供でき(ビデオは画像の連続であるため、画像という用語はビデオを含む)、ユーザの個性を確認し、またその個人の生気と現実性を確認して、それが人のビデオやスクリーンショットやその他の表現ではないことを保証するために、画像を得ながらデバイスの経路パラメータを提供できる(「認証移動」)。
【0069】
図8で概説されている一実施形態において、ユーザは、ステップ810において、モバイルデバイス112をユーザの頭に対して様々な位置に移動させながら、モバイルデバイス112でいくつかの認証画像を得る。ステップ812では顔検出を使用して、モバイルデバイス112が認証画像の各々でユーザの顔を検出し、画像を切り取り、画像を認証サーバ120へ送信する。別の実施形態では、モバイルデバイス112がサーバ124へ画像を送信し、サーバ124が顔検出を実行する。ステップ814において、認証ルーティング120は認証画像に対して顔認識を実行してバイオメトリック情報(「認証バイオメトリクス」)を得ることができる。別の実施形態では、モバイルデバイス112が顔認識を実行して認証バイオメトリクスを得、認証バイオメトリクスをサーバ120へ送信する。
【0070】
ステップ816では、モバイルデバイス112がデバイスを識別するデバイス情報を送信し、撮影中に取られたモバイルデバイスの経路を明示するジャイロスコープ、磁力計、および加速度計情報などの経路パラメータ、ならびに撮影中の経過時間(「認証移動」)をサーバ120へ送信する。したがって、顔認識システムでのログインために認証サーバ120によって受信されるクレデンシャルは、デバイス情報、認証画像または認証バイオメトリクス、および認証移動(経路パラメータ)を含み得る。
【0071】
図4に戻り、ステップ430では、認証サーバ120がモバイルデバイス112から受信したクレデンシャルが登録中に得られた情報と十分に対応することを検証する。例えば、図9のステップ910に示されているように、認証サーバ120は、それぞれの画像で顔および顔に当たる光の特性を処理するアルゴリズムを使用して、認証画像内の顔が三次元であると、すなわち、印刷された画像やビデオ画面上の表現ではないと、判断できる。モバイルデバイス120が認証バイオメトリクス120のみをサーバへ送信する場合、サーバ120は、それぞれの画像のバイオメトリック結果を比較することによって撮影されたユーザの現実性または三次元性を立証できる。
【0072】
次いで、ステップ920では、認証サーバ120がログインクレデンシャルを登録プロセスから格納された情報と比較できる。ステップ920では、サーバ120がログインプロセス中に得られたデバイスの識別情報を登録中に格納されたものに比較する。ステップ930では、認証バイオメトリクスを登録バイオメトリクスと比較して、それらが登録バイオメトリクスと十分に対応しているかどうかを判断できる。ステップ940では、認証移動を登録移動と比較して、それが登録移動と十分に対応しているかどうかを判断できる。
【0073】
いくつかの実施形態では、登録情報のコピーをモバイルデバイス112に格納でき、モバイルデバイス112は、モバイルデバイス112で受信したクレデンシャルが登録情報と十分に対応していることを検証できる。これにより、ユーザがインターネットにアクセスできない場合など、認証サーバ120への接続が一時的に利用できない場合でも、ユーザは、認証サーバ120などのリモートデバイスでホストされるユーザのアカウントを保護することに加えて、モバイルデバイス112そのもので文書、ファイル、またはアプリケーションを保護できる。さらに、これにより、ユーザはモバイルデバイス112そのものへのアクセスを保護できる。または、登録情報はサーバに格納されてもよい。
【0074】
したがって、ステップ950において、登録情報が受信されたクレデンシャルに十分に対応すると認証サーバ120またはモバイルデバイス112が判断した場合、サーバまたはモバイルデバイスは、ログインを試みるユーザの識別情報がアカウント保持者に対応していることを検証できる。これにより、ユーザがモバイルデバイスの小さな画面を使用して複雑なパスワードを手作業で入力しなければならない面倒なプロセスは回避される。多くのパスワードは現在、大文字、非テキスト文字、小文字、および数字を必要とする。
【0075】
ログイン試行において登録情報が認証情報と十分に対応していると判断するために必要な対応レベルは、事前に設定できる。例えば、対応レベルは、登録バイオメトリクスと認証バイオメトリクスとの99.9%の一致率、および登録移動と認証移動との90%の一致率であってよい。必要な対応レベルは一定であってよく、または確立された閾値に基づく柔軟なものであってもよい。
【0076】
例えば、必要な対応レベルは、モバイルデバイス112からのGPS情報に基づくものであってよい。一実施形態において、認証サーバ120は、モバイルデバイスのGPS情報がユーザの自宅の位置または他の認可された位置に対応する場合に、対応レベルとして99.9%の一致率を要求できる。対照的に、デバイスがユーザの自宅から遠く離れた外国にあることをGPS情報が示す場合、認証サーバは、対応レベルとして99.99%の一致率を要求でき、さもなくば完全に拒否され得る。したがって、予め格納された認証データ(登録情報)と現在受信されている認証データ(認証情報)との要求される一致は、経路パラメータまたは画像間の要求される一致率が、時刻、位置、ログイン試行の頻度、日付、または他の何らかの要因など、様々な要因に応じて変わり得るという点で柔軟である。
【0077】
必要な対応レベルはさらに、時間に依拠してもよい。例えば、モバイルデバイス112からのGPS情報に基づいて第1の認証位置から遠い位置で第1の認証試行の直後に第2の認証試行が行われる場合は、対応レベル閾値がより高く設定されてよい。例えば、ユーザは、シアトルからニューヨークまで1時間で移動することはできない。同様に、深夜から午前3時までのログイン試行は、一部のユーザではユーザの使用パターンに基づいて不正の兆候となり得る。
【0078】
登録情報と認証情報との対応レベルは、登録情報および認証情報の様々なパラメータを混ぜ合わせた結果であってもよい。例えば、認証情報内のボタン保持時間が登録情報のボタン保持時間の5%以内である場合、ボタン保持時間の対応は、全体的な一致の20%を構成し得る。同様に、認証情報の移動経路軌跡が登録情報の10%以内である場合、移動経路軌跡は、全体的な一致の20%を構成し得る。登録情報に比較した、認証情報内の顔サイズおよび顔認識一致などのさらなるパラメータ一致率は、全体的な対応レベルの残りの10%および50%を構成し得る。このようにして、全体的な対応レベルを調整でき(例えば、全パラメータの合計が75%超)、または個々のパラメータの一致率を調整することもできる。例えば、2回目のログイン試行では、1つのパラメータの閾一致率を上げることができ、またはすべてのパラメータの全体的な対応レベルを上げることもできる。閾一致率は、認証されているアカウントに基づいて、または他の異なる望ましいセキュリティレベルに基づいて、調整することもできる。
【0079】
図4に戻り、ステップ440では、認証サーバ120がステップ430における検証に基づいてアクセスを許諾または拒否できる。例えば、クレデンシャルが登録情報と一致することを認証サーバ120が検証した場合、サーバ120は、ユーザのアカウントへのアクセスを許可するためにユーザを認証できる。認証サーバ120がアカウントサーバ120B(銀行のサーバなど)から独立している場合、認証サーバ120は、一意の識別子を、一意の識別子に関連付けられたユーザの個性が検証されたという指示と併せて、アカウントサーバへ送信できる。そして、アカウントサーバ120Bは、アカウントサーバ120Bからデータを送受信することをユーザのモバイルデバイス112に認可できる。勿論、これはすべて、アカウントサーバ120Bのみで、またはモバイルデバイス112そのもので、行われてもよい。
【0080】
あるいは、ユーザによって提供されたクレデンシャルが検証されない場合、認証サーバは、ログイン試行が失敗したことを伝えるメッセージをモバイルデバイス112の画面に表示するために送信できる。次いで、認証サーバ120は、ユーザが顔認識ログインシステムを通じて再度ログインを試みられるようにし、または認証サーバ120は、ユーザ名およびパスワードなどの典型的なアカウントクレデンシャルを入力することをユーザに要求できる。
【0081】
一実施形態において、サーバ120は、ユーザ名とパスワードを要求する前に、連続3回の失敗ログイン試行を許可できる。これらの試行のうちのいずれか1つにおいて、要求される対応レベルが満たされる場合は、ユーザを検証でき、アクセスを許諾できる。一実施形態によると、認証サーバ120は、連続する各々の認証試行からの情報を保有し、複数の認証試行からのデータを組み合わせて、認証を試みる人のより正確な顔バイオメトリック情報を達成できる。加えて、対応レベルは連続する認証試行ごとに上げることができる。加えて、いくつかのログイン試行からの経路データ(認証移動)および/または画像データ(認証画像/バイオメトリクス)を平均することによって、ログインデータ(登録情報)が完全なものとなり、改善される。
【0082】
したがって、上述した認証システムは、リモートサーバ120に対する、またはモバイルデバイス112そのものにおける、認証を可能にする。これは、上述したように、モバイルデバイス112が認証クレデンシャルをキャプチャし、認証サーバ120がクレデンシャルを登録情報に比較して処理および分析し(クラウド処理および分析)、モバイルデバイス112が認証クレデンシャルをキャプチャし、クレデンシャルを処理し、認証サーバ120がクレデンシャルを登録情報に比較して分析し(モバイルデバイス処理、クラウド分析)、またはモバイルデバイス112が認証クレデンシャルをキャプチャし、クレデンシャルを登録情報に比較して処理および分析することによって(モバイルデバイス処理および分析)、達成できる。
【0083】
実施形態の利点および特徴
上述したシステムは、いくつかの利点を提供する。1つの利点として、顔認識認証システムは安全なログインを提供する。例えば、ログイン試行中に、モバイルデバイスのカメラが、電話機が動いていない間に自分の頭を回している人を表示するデジタル画面を撮影した場合、加速度計、磁力計、およびジャイロスコープデータはいかなる動きも検出しない。したがって、登録移動と認証移動は対応せず、ログイン試行は拒否される。
【0084】
加えて、登録画像と認証画像として複数の画像が使用されるため、ヒストグラムか他の写真操作技法を用いて、画像内に人間の顔の代わりにデジタル画面があるかどうかを判断できる。例えば、システムは、光の周波数、キャプチャされた画像の変化、または電子ディスプレイが画像を生成したことを示す画像内のバンディング、バックライト、照明の疑わしい変化をチェックでき、または画像を比較することによって画像に対して他の分析を行って、実際の生身のユーザが実際に生きており、存在しており、ログインの認可を要求していると判断できる。
【0085】
さらに別の利点として、上述したように、登録バイオメトリクスが認証バイオメトリクスに十分に対応しなければならないだけでなく、登録移動も認証移動と一致しなければならず、デバイス情報も登録デバイス情報と一致しなければならない。例えば、デジタルカメラを有するモバイルデバイスにはアプリケーションをダウンロードできる。このアプリケーションは、ログインアプリケーションであってよく、またはユーザがアカウントを有するところの金融機関やその他のエンティティからのアプリケーションであってもよい。次いで、ユーザは、ウェブサイトのユーザ名およびパスワードなどの典型的なログインクレデンシャルを使用してアプリケーションにログインできる。さらに、ユーザは、別のデバイスでのログインからデバイスコードを有することができ、またはカメラを使用してQRコード(登録商標)や他のそのようなコードをスキャンして、デバイスを自分のユーザアカウントにペアリングできる。
【0086】
次に、ユーザは、携帯電話機を保持し、自分の頭に対して様々な位置に携帯電話機を移動させ、携帯電話機が移動されるときにカメラから自分の顔が見えるようにする。モバイルデバイスが移動されるにつれて、カメラは顔の登録画像を撮影する。撮影中には、加速度計、磁力計、およびジャイロスコープを使用して現在のユーザのモバイルデバイスの移動の速度および角度が測定され、登録移動が生成される。プロセス全体にわたる顔のさらなる連続的な撮影および検出によって不正が防止されることが証明されている。これは、カメラの正面で画像を回転させることによって不正を試みることはできないためである。
【0087】
例えば、ユーザは、図6Aおよび図6Bに示されているように、右から左、または左から右への移動を開始できる。移動はまた、図7Aおよび図7Bに示されているように、前後方向であってもよい。中心で始まって、次いで右に進み、次いで中心に戻るなどの他の何らかの移動も利用できる。登録移動の複雑さをさらに増すために、垂直移動や斜め移動を使用することもできる。その後、ユーザは、ログインを試みるときに、バイオメトリックデータとデバイス情報の照合に加えて、登録移動に一致するように認証移動で動きのパターンを繰り返さなければならない。したがって、システムのセキュリティは大幅に強化される。
【0088】
したがって、システムは、モバイルデバイスを所有するユーザを認証するための高度なセキュリティを提供する。上述したように、システムは、ユーザを安全に認証するために、物理的デバイス検証、モバイルネットワーク検証、画像内の顔のサイズを含む顔認識、移動中にすべてのフレームで検出される顔、加速度計情報、ジャイロスコープ情報、磁力計情報、1平方インチ当たりの画素数、1画素当たりのカラービット数、画像の種類、ユーザ入力コードまたはパターン、およびGPS情報のうちの少なくともいずれか1つ以上をいくつもの組み合わせで使用できる。
【0089】
もうひとつの利点として、顔認識ログインシステムは、ユーザがモバイルデバイスを用いてアカウントにログインするための便利な方式を提供する。例えば、ひとたび登録されたユーザは、アカウントにアクセスすることを望むたびに小さなモバイルデバイスにユーザ名とパスワードを入力する必要がない。代わりに、ユーザは、モバイルデバイスを用いて登録移動を模倣しながら自分自身を撮影するだけでよい。これは、携帯電話機やスマートウォッチといったより小型のモバイルデバイスで特に有利である。これはまた、時間を節約し、パスワードを紛失したり忘れたりするのを防ぎ、パスワードが入力されるときに他人がパスワードを盗み見るのを防ぎ、入力によって生じる誤りを減らす。
【0090】
システムはさらに、ユーザが複数のデバイスに安全にログオンすることを可能にするように、またはユーザがデバイスを安全に共有することを可能にするように、構成されてよい。一実施形態において、登録情報は、認証サーバ(または「クラウド」)に格納されてよく、したがって、ユーザの元のデバイスのみに関連付けられるのではない。このため、ユーザは、いくつもの適切なデバイスを使用して認証サーバで認証できる。このようにして、ユーザは、友人の電話機(サードパーティデバイス)や他のデバイスを使用し、いずれかのデバイスで認証作業を行うことによって、アカウント情報、アドレス帳情報、電子メール、または他のメッセージングといった自分の情報にアクセスできる。
【0091】
例えば、ユーザは、友人の電話機で電子メールアドレス、ユーザ名コード、または同様の識別子を提供でき、認証サーバはログイン情報をユーザのアカウントの登録情報と比較する。これは、どの認証プロファイルを使用するかを認証サーバに示すが、それ自体では、ユーザのデータ、アカウント、またはタスクへのアクセスを許可しない。友人の電話機からログアウトすると、友人の電話機でのユーザの情報へのアクセスは終了する。これは、ユーザが任意のデバイスを使用してアカウントや認証によりアクセス可能となる他の情報またはタスクに安全にアクセスできるという利点を提供し、ユーザのパスワードが記録されたりコピーされたりする可能性のあるサードパーティデバイスにユーザのパスワードを入力する必要はない。ある意味、ユーザがパスワードであり、ユーザの顔特徴や格納された顔データは格納されたパスワードであり、ユーザの顔をカメラに提供することによって、ユーザはパスワードを提供していることになる。
【0092】
そのようなシステムは、ユーザの登録情報をリモートサーバに格納せず、代わりにユーザのデバイス上で登録情報を維持する形で実現されてもよい。例えば、ユーザがサードパーティデバイスへのログインを要求すると、認証サーバはユーザのデバイスに認証要求を送信できる。次いで、ユーザは、認証画像と認証移動をユーザのデバイスに提供することによって、上述のシステムを使用して動作を認証できる。次いで、ユーザのデバイスは、ユーザのデバイスに格納された登録情報に基づいてユーザを認証する。このデータは、アプリケーションか他の安全な場所に格納し、高度に暗号化することができる。ユーザのデバイスは、認証が成功したかどうかの検証を認証サーバに提供し、そして認証サーバは、サードパーティデバイス上でユーザを認証する。
【0093】
クラウドベースの認証によって、1人のユーザが認証済みのデバイス間でデータを安全に転送することもできる。一実施形態において、ユーザは、携帯電話機などの第1のデバイスを所有でき、認証システムによって第1のデバイス上で認証される。次いで、ユーザは、新しい電話機、タブレットコンピュータ、または他のデバイスなどの新しいデバイスを入手できる。クラウドベースの認証システムを使用して、ユーザは新しいデバイス上で認証し、第1のデバイスから新しいデバイスへデータを転送することができる。データの転送は、インターネット、ローカルネットワーク接続、Bluetooth接続、有線接続、または近距離通信によって完了できる。認証プロセスはまた、電話機の紛失や盗難の後にシステムを嫌うまたは復元するためのセキュリティチェックの一部にもなり得る。したがって、認証システムを使用して新しいデバイスを起動または認証でき、認証を使用して新しいデバイスのユーザを検証できる。
【0094】
同様に、システムは複数の人々による単一の共有デバイスへの安全なアクセスを円滑化し、当該デバイス上のコンテンツや他の機能を制御することができる。多くの場合、デバイスが数人のユーザによって共有される場合は特に、パスワードが見られる、コピーされる、推測される、または検出される可能性がある。ユーザは、例えば、親や子供を含む家族であり得、同僚であり得、または生徒等の他の人間関係であり得る。認証システムは、家族の各自がユーザアカウントに関連付けられた自身の固有の登録情報に基づいてログインすることを可能にできる。
【0095】
デバイスは、子供のユーザアカウントなどの特定のユーザのアカウントのいずれか1つ以上の場合に、特定のコンテンツまたは機能へのアクセスを制限し、親のアカウントなどの他のユーザのアカウントの場合に、コンテンツおよび機能へのアクセスを許可できる。上述したように、認証システムは認証にあたって親の存在を要求するので、共有デバイスに認証システムを使用することによって、子供などのユーザがパスワードを利用して制限されたコンテンツへのアクセスを試みることはできない。これにより、異なる権限を持つユーザ間でのデバイス共有がさらに保護され強化される。同様に、教室では、試験、研究、および成績報告のために、複数の人々で単一のデバイスを安全に共有することができる。
【0096】
適応と変更
本発明の範囲から逸脱することなく、上記のシステムおよび方法に多くの変更を加えることができる。例えば、画像は、デバイス上の顔認識アルゴリズムによって処理されてよく、デバイス上でバイオメトリックデータに変換されてよく、このバイオメトリックデータはその後、認証されたユーザの以前に作成されたバイオメトリックデータに比較される。あるいは、デバイスから有線または無線ネットワークを通じて画像が送信されてもよく、別個のサーバ上で実行する顔認識アルゴリズムが画像を処理し、バイオメトリックデータを作成し、そのデータをそのデバイスに割り当てられた格納済みのデータと比較することができる。
【0097】
1人のユーザの複数のプロファイル
さらに、1人のユーザに対して写真登録プロセスを複数回実行して、複数のユーザプロファイルを作成することができる。例えば、ユーザが登録する際のプロファイルでは、眼鏡が有るもしくは無い、他のウェアラブルデバイスが有るもしくは無い、照明条件が異なる、帽子をかぶっている、ヘアスタイルが異なる、顔もしくは耳のジュエリが有るもしくは無い、または目を閉じている、ウィンクしている、もしくは舌を出しているといった様々な独特の顔を作って、各々のユーザプロファイルで別の独自性レベルを確立できる。ユーザによって作られたそのような「顔」は、ユーザのソーシャルメディアページで入手できないため、不正を試みる際にコピー、操作、および使用されない。1セットの登録画像、登録バイオメトリクス、または両方は、別個の登録移動と共に保存できる。一実施形態において、モバイルデバイスが経路を完了するときには、少なくとも3つの画像がキャプチャされる。いくつもの画像がキャプチャされ得ると考えられる。
【0098】
登録情報のリンク
登録プロセスが、電子メールアドレス、電話番号、または他の識別子にリンクされ得ることも考えられる。例えば、ユーザは、電子メールアドレスでサインアップし、上述したように1つ以上の登録を完了し、同じ電子メールアドレスで登録を確認することができる。この場合、電子メールアドレスはシステムのセキュリティをさらに強化できる。例えば、ユーザが認証システムを通じて所定の回数、例えば3回、ログインを試みて失敗した場合、認証システムはアカウントをロックし、ログイン試行の失敗をユーザに通知する電子メールを電子メールアドレスへ送信する。この電子メールは、ログインに失敗した人の1つ以上の画像と、ログイン試行からのGPSまたは他のデータとを含んでもよい。次いで、ユーザは、これが有効なログイン試行であったかどうかを確認でき、システムをリセットでき、またはユーザは、ログイン試行を不正なものとして報告できる。不正なログインの報告がある場合、またはロックアウトが多すぎる場合、システムは、ユーザのセキュリティを保護するために電子メールアドレスに関連付けられたアカウントを削除できる。したがって、将来の不正な試みを不可能にすることができる。
【0099】
フィードバックメータ
撮影をさらに容易にするため、モバイルデバイスは、図10に示されているような移動メータや精度メータなどの様々なフィードバックメータを含んでよい。一実施形態において、モバイルデバイス1012は、ユーザがモバイルデバイス1012を自分の頭に対して様々な位置に移動させるときにモバイルデバイス1012が行う移動の量を示す移動メータ1024を表示できる。例えば、移動メータ1024は、画面の片側からスライドする線として表されてよい。このようにして、登録プロセスは、ユーザを多次元認証システムに登録するにあたって一定のデバイス移動閾値を要求できる。例えば、システムは、登録情報を作成するためにモバイルデバイス1012が円弧または直線で移動され、少なくとも45度回転することを要求できる。別の例では、システムは、デバイスが受ける閾量を超える加速度を要求できる。移動メータはまた、ユーザが認証システムを使用して自分自身を撮影する方法を学習するのを助けることができる。
【0100】
ユーザが認証システムを使用して自分自身を認証し、認証を上達させるように学習するのを助けるため、モバイルデバイス1012は、精度メータ1026や認証されるフレームの他の何らかの視覚的表現を表示することもできる。精度メータ1026は、認証の過程で得られた所定数の画像の一致率(グラフ、アルファベット、または数値)をユーザに示すことができる。精度メータは、数値パーセンテージ、色表現、グラフなどを含む様々なやり方でディスプレイ上で表現できる。表現の組み合わせも利用できる。
【0101】
例えば、図10に示されているように、認証中に撮影された所定数の画像の一致率が精度メータで表現される。図10に示されている実施形態では、画像の各々をグラフ内の柱で表現でき、各柱の各画像について精度を示すことができる。例えば、棒がより長い柱はより高い精度を表し、棒がより低い柱はより低い精度を表す。画像の一致率に加えて、経路パラメータの一致率も表示できる。ユーザは時間が経つにつれ上達できる。
【0102】
別の実施形態では、一致率に対応する色として画像の各々が表上で表現されてもよい。濃い緑色は非常に高い一致率を表すことができ、薄い緑色は良好な一致率を表すことができ、黄色は納得のいく一致率を表すことができ、赤色は並の一致率を表すことができ、灰色は乏しい一致率を表すことができる。別のカラースキームを使用することもできる。
【0103】
使用される棒の高さまたは色は、所定の一致率に対応できる。例えば、完全な棒または濃い緑色は99.9%を超える一致率であってよく、4分の3の棒または薄い緑色は90%~99.9%の一致率であってよく、半分の棒または黄色は50~90%の一致率であってよく、赤色は20%~50%の一致率であってよく、単線~4分の1の棒または灰色は0~20%の一致率であってよい。円グラフ、折れ線グラフ、または他の何らかのタイプの表現を使用することもでき、または他の何らかの数値表示またはグラフィック表示を使用することもできる。総合スコアや画像ごとのスコアも提示できる。
【0104】
精度メータは、総合一致スコアを示すメッセージ1028を含んでもよい。例えば、精度メータは、平均総合一致スコアや99.9%の一致率を達成した画像の数を示し、ユーザにメッセージを表示することができる。上述したような移動メータ1024や精度メータ1026により、ユーザは、メータ1024、1026によって提示されるフィードバックに基づいて認証システムの使い方を速やかに学習できる。
【0105】
ゲーミフィケーションと報酬
移動および精度メータ1024、1026は、ユーザができるだけ最高の一致(高い数値スコアまたは高いフレームパーセンテージなど)を得るように奨励し、認証システムを利用するユーザのスキルを高めるために、ゲームの特徴、態様、またはテクニックを認証システムに取り入れるように構成されてもよい。これはまた、本技術のユーザ採用率を高める。
【0106】
例えば、ユーザは、過去の認証スコアを再現または改善するために自分と競争して、高いスコアを達成するようにユーザを奨励またはトレーニングできる。システムを使用する自分のスキルを実証するために、または他人と競争するために、精度一致結果を他人と共有する機能など、認証メータのさらなる変更を取り入れることもできる。他の例では、ユーザは、高精度スコアに対するギフトやクーポンなどの報酬を受け取ることもできる。これによってコストがわずかに増大する可能性はあるが、不正による損失の減少は追加のコストを補って余りある。
【0107】
不正な認証や詐欺的な認証を防ぐ措置をとることをユーザに奨励するため、認証システムにさらなるゲームテクニックを取り入れることともできる。一実施形態において、認証システムは、不正防止活動に従事するユーザに賞や報酬を与えることができる。そのような活動の1つは、本書で説明されている顔認識認証システムを利用することである。例えば、上述した精度メータに基づいて、システムは、一定の一致率を超えてシステムでの認証に成功したユーザに報酬を与えることができる。システムは、認証成功に基づいて、または所定数の認証成功に基づいて、報酬ポイント、現金、または他の賞を与えることができる。報酬ポイントが利用される場合は、所定の賞でポイントを換金できる。
【0108】
他のゲーム機能は、認証機能を使用して所定量の経験を積んだユーザに対する賞レベルを含み得る。例えば、それぞれの報酬レベルは、ユーザが100回、500回、1000回などの認証に成功したことに基づいてよい。不正による損失は甚大なものになり得、企業や組織の信用を損なうおそれがあるため、不正防止のメリットは大きい。
【0109】
一実施形態において、100回の認証成功を達成したときの「銀レベル」、500回の認証成功を達成したときの「金レベル」、または1000回の認証成功を達成したときの「プラチナレベル」など、ユーザには様々な能力レベルを達成したことを知らせることできる。所与の一致率を上回る各認証に対して付与される所定のポイント数は、ユーザの経験レベルに基づいて増やすことができる。勿論、上述したレベルの名称と各レベルの認証数は例示にすぎず、必要に応じて変えることができる。
【0110】
一実施形態では、ウェブサイトで取引が行われるときに認証のみが報酬レベルに考慮されるが、他の実施形態では、試行が繰り返されてよく、そのすべてが報酬に考慮される。別の機能はリーダーボードを取り入れることができ、これによりユーザには、他のユーザと比較して認証システムを使用する熟練度や意欲を比較するユーザランキングを知らせることができる。
【0111】
認証システムを上手に利用することで、不正行為にかかるコストと不正行為を防ぐのにかかるコストが削減されて、システムを利用する企業や組織のためになる。これらのコスト節約は、認証システムの上述したゲーム機能への資金供給に役立てることができる。
【0112】
認証システムに対応し不正の減少に寄与するさらなる活動を取り入れて、ユーザがポイントを獲得するように、または賞を受け取るように、することもできる。そのような活動は、ユーザが特定の数字と文字の組み合わせを使用する十分に長く強力なパスワードを作ることを含み得る。これにより、簡単には破られないパスワードを設定することをユーザに奨励し、そうするユーザに報酬を与える。他の例は、認証の携帯電話または電子メール検証、1つ以上の個人的な質問に回答すること、または現在知られているか後ほど開発される他の二次検証など、最初の認証に加えて、時間をかけて検証手順を実施するユーザに報酬を与えることを含み得る。これにより、企業や組織に対する不正のリスクを軽減するために、余分な時間と手間をかけるユーザに報酬を与える。
【0113】
別の例として、認証サービスを使ってアフィリエイトプログラムを提供するウェブサイトまたはアプリにログインする場合は、それらのサイトで行われる購入に対するアフィリエイト手数料から報酬やギフトを助成できる。例えば、商取引(製品またはサービス)ウェブサイトが本書で開示されている方法および装置を利用して不正を回避し、そうすることで利益を上げる場合は、認証サービスを使用してユーザによって行われる各購入の一定の割合が認証サービスに提供される。不正を減らすことにより、消費者の購入の見込みが高まり、さらなるユーザが金銭情報や個人情報を進んで入力する気分になる。アフィリエイトリンク、コード、または照会元もしくは識別子を使用して認証システムを信用できるようにし、消費者を商取引(製品またはサービス)ウェブサイトに導くことができる。
【0114】
複数アカウントログイン
ユーザが1回の認証で多くの異なるウェブサイトにアクセスできるように認証システムが構成され得ることも考えられる。認証プロセスおよび結果はユーザに固有のものであるため、ユーザは最初に自分がどの参加ウェブサイトにログインするかを指定でき、次いで、ログインする1つ以上のウェブサイトを選択した後に、本書で説明されている認証を実行する。安全な認証が成功すると、ユーザは選択されたウェブサイトにログインされる。このように、認証プロセスは、複数の異なるウェブサイトのための汎用アクセス制御であり、ユーザが複数の異なるユーザ名およびパスワードを覚えなければならないことを防ぎ、不正と各ユーザのパスワードオーバーヘッドも減らす。
【0115】
撮影の自動開始/停止
システムが電話機上で動作するビデオカメラを有するように構成され得ることも考えられる。モバイルデバイスは、電話機が移動したときに(カメラ、ジャイロスコープ、磁力計、および加速度計を使用して)画像フレームと経路パラメータデータをキャプチャするが、デバイス上でバイオメトリックデータに処理するか、またはフレーム内で顔が検出された場合にフレームをサーバへ送信するのみである。他の実施形態では、画像データまたはフレームはサーバへ送信されず、代わりに、電話機などのユーザのモバイルデバイス上で分析が行われる。本実施形態において、モバイルデバイス上で実行するアプリケーションは、電話機が移動するとフレームの保存を開始するようにソフトウェアアプリケーションをトリガし、次いで、電話機が正しい経路(例えば、半円)で移動し続け、システムがフレーム内で顔を検出した場合には、モバイルデバイスが画像、画像の一部、またはバイオメトリックデータを処理のためサーバへ送信し始める。システムは、動きを感知すると、一定の間隔による画像キャプチャをトリガできる。そして、アプリケーションはフレームを処理して、画像が顔を含んでいるかどうかを判断できる。画像が顔を含んでいる場合、アプリケーションはそれを切り取り、次いでモバイルデバイスの移動経路が登録中に使用されたものと類似しているかどうかを検証する。移動経路が十分に類似している場合、アプリケーションは、上述したスキャンまたは処理のために、フレームを一度に1つずつサーバへ送信できる。
【0116】
バンディングおよびエッジ検出
LED、LCD、または他の画面などの表示画面を使用して不正な試みが行われると、システムは、予想される画面属性に基づいて不正なログイン試行を検出できる。一実施形態において、認証システムは、デジタル画面によって生成されるバンディングのチェックを行う。バンディングが検出されると、システムはログイン時の不正な試みを認識できる。別の実施形態では、システムは、デジタル画面のエッジ検出のチェックを行う。ログイン試行中に認証移動を得るためにモバイルデバイスが移動されると、システムは、不正なログイン試行を認識するために、キャプチャされた画像で画面のエッジをチェックする。システムは、グレア検出など、画面から生じる他の画像アーチファクトもチェックできる。バンディングおよび画面エッジ検出のための現在知られているあらゆるアルゴリズムを、または後に開発されるあらゆるアルゴリズムを、利用できる。不正が検出されると、認証とウェブサイトへのアクセスを阻止し、または取引もしくはアカウントアクセスを阻止する。
【0117】
他の属性の推定
認証システムはさらに、性別、凡その年齢、および民族のうちの少なくともいずれか1つを推定するために、登録画像に対して分析を行うことができる。代替の実施形態では、ユーザが自分の性別、凡その年齢、および民族のうちのいずれか1つ以上を手作業で入力でき、またはこの情報は、正確であることが分かっている既存の記録から取るまたは得ることができる。次いで、認証システムはさらに、ユーザの推定性別、年齢、および民族を登録クレデンシャルまたはユーザデータとして格納できる。したがって、ユーザが後ほどシステムで認証しようとするときに、システムは、認証画像から得られた導出性別、年齢、および民族を(バイオメトリック分析を用いて処理に基づきそのようなデータまたはその推定値を判断)、格納された性別、年齢、および民族と比較して、ユーザを認証するかどうかを判断する。例えば、性別、年齢、および民族の導出データが格納された登録クレデンシャルと一致するなら、認証は成功する、または認証のこの局面は成功する。
【0118】
認証システムは、認証過程で1つの画像に基づいて、または複数の画像に基づいて、性別、年齢、および民族の推定を行うことができる。例えば、認証システムは、複数の画像から、ユーザの顔の視野角が分析にとって最適な画像を使用できる。他の実施形態では、各画像が分析にとって最良のデータを提示する場合に、年齢、性別、および民族の分析ごとに別の画像を使用することもできる。認証は、複数の画像で性別、年齢、および民族を推定し、結果を平均して性別、年齢、および民族の総合スコアを得ることもできる。
【0119】
登録情報として性別、年齢、および民族を得る代わりに、認証クレデンシャルとして推定された性別、年齢、および民族の推定を、認証システムを繰り返し使用する過程で設定することもできる。例えば、バイオメトリクスと移動情報を使用した以前の成功した認証において、認証システムが常にユーザの年齢を40歳から50歳の間であると推定する場合、認証は、そのユーザのクレデンシャルを設定して、40歳から50歳の間であると推定される顔の画像を後のログイン情報に含めることを要求することができる。あるいは、ユーザを認証するかどうかを判断するための総合認証スコアに寄与する多くの要因のうちのいずれか1つとして、性別、年齢、および民族の推定が実施されてもよい。
【0120】
例えば、認証プロセスが1.9男性評価の+または-0.2の性別推定を有する場合に、実際の結果がその範囲内に入らないなら、システムはそのユーザに対してアクセスを拒否できる。同様に、以前の認証試行または登録時にユーザの年齢範囲が常に40~50歳の間にあり、認証試行がその範囲から外れる場合、システムはアクセスを拒否でき、またはその結果をアクセスを拒否するための複合要因として使用できる。
【0121】
さらなる実施形態では、EKGシグネチャを得ることができるブレスレットまたは腕時計が使用される場合に、ログイン時に特定のEKGシグネチャを要求できる。EKGシグネチャを顔認識回転と組み合わせて、重要なセキュリティおよび識別アプリケーションのための多段階サインオンを提供することもできる。さらに、クレデンシャルはGPS情報を含むこともでき、この場合は、登録中に指定された特定の地理的位置内でのみログインが許される。一構成では、ログイン試行か実際のログインのためにモバイルデバイスのGPS座標が記録されログされる。これは、ユーザの位置に関する追加情報である。例えば、不正で知られている外国にGPS座標があるなら、その試みは不正であった可能性が高いが、試みまたはログインがユーザの自宅で行われたことをGPS座標が示すなら、不正である可能性は低い。加えて、いくつかのアプリケーションは、安全な政府施設や病院といった指定された場所にいるときにのみユーザのログインを許可することもできる。
【0122】
登録情報は、距離情報をさらに含んでもよい。運動円弧(速度、角度、持続時間...)は各ユーザに固有のものであるため、デバイス上の顔検出ソフトウェアは画像を処理し、デバイスが被写体に近すぎるか遠すぎるかを判断することができる。換言すると、登録情報は、画像内の顔のサイズを考慮できる。したがって、登録情報はまた、ユーザの腕の長さ、頭、および顔のサイズに基づいて、ならびにユーザの特定のモバイルデバイス内のカメラの光学系に基づいて、異なり得る。ユーザはまた、ラップトップ、デスクトップ、またはatmなどの固定されたコンピュータまたはカメラに位置することがある。次いで、ユーザは、前後、左右、または上下(または組み合わせ)のいずれかに顔を動かして画像を作成できる。したがって、この作業方法はモバイルデバイスに限定されない。一実施形態において、カメラは、自動車内に、例えばミラー内に、配置され、人は認証のために頭か顔を動かす。
【0123】
段階的認証アクセス
一実施形態において、システムは、最初に登録および認証されたときにユーザができることを制限するように設定される。そして、さらなる認証の後には、または所定の期間および認証回数の後には、追加の能力を許諾できる。例えば、最初の3ヶ月間の最初の20回の認証の間は100ドルの最大取引を許可できる。これは、ユーザによる異議なし取引に関連して既知の認証データのデータベースを構築する。その後、次の20回の認証中は3000ドルの取引制限を定めることができる。これにより、認証データに限りがあり、ユーザがシステムに馴染みがないときに、不正が発生した場合の全体的損失が制限される。例えば、権限のないユーザが認証システムに不正に登録できる場合。
【0124】
撮影のためのビデオ表示
ユーザは、前面カメラを使用して自分自身を撮影するときに、上述したように、ディスプレイ上の画像を見て自分の顔が撮影されていることを確認できる。ディスプレイ上に表示される画像は、ディスプレイ全体より面積が小さくなるように構成されてよく、デバイスの上部に向かってディスプレイの上部に配置されてよい。ユーザの画像がユーザの表示画面の上部にのみ表示される場合は、ユーザの目が前面カメラをより注意深く見る傾向がある。ユーザの目が追尾しているときには、顔認識の精度を高めることができる。さらに、フレームからフレームにかけて目の動きを追跡することにより、システムは、画像が生身の人のものであり、人の写真またはビデオ録画からのものではないことを立証できる。
【0125】
図11A図11Cに示されているように、ディスプレイに表示される画像は、ユーザのデバイス上のカメラ位置に対応するように配置されてもよい。今日利用可能なモバイルデバイスは、多くの異なる位置に配置された前面カメラを含み得る。例えば、図11Aおよび図11Bに示されているように、ある1つのモバイルデバイス1112a、1112bは、ディスプレイの上方、中心から片側または反対側に向かって外れて配置された前面カメラ1114a、1114bを有し得る。したがって、ディスプレイに表示されるユーザのフィードバック画像1116a、1116bは、図示されているように、カメラ1114a、1114bの位置に対応するように配置され得る。カメラ1114aがディスプレイの上方にあり、中心から外れて中心の左に位置する図11Aでは、画像1116aがディスプレイの左上隅に表示され得る。カメラ1114bがディスプレイの上方にあり、中心から外れて中心の右に位置する図11Bでは、画像1116bがディスプレイの右上隅に表示され得る。図11Cに示されているように、モバイルデバイス1112cは、ディスプレイの真上の中心に配置されたカメラ1114cを有し得る。そこで、画像1116cは、ディスプレイの上部の中央に表示され得る。このようにして、ユーザの目は、カメラの近くに向けられ、および/または可能な限りカメラの近くを追跡し、目の追跡と動きの検証を支援する。ユーザはまた、モバイルデバイスを移動させながら、フィードバック画像と画面上の他のフィードバックまたは情報をよりよく見ることができる。
【0126】
ユーザによってディスプレイ上で見られる画像は、図12に示されているように、側部ディスプレイ上の端の画素が水平方向に引き伸ばされるようにさらに変更されてよい。すなわち、左右両側の所定のエリア1206、1208がよじられて、画面の左右の端に向かってそれぞれ伸びている。これは、表示画像のより大きな垂直部分がディスプレイに表示されることを可能にする。同時に、ユーザの顔が画面の中心から外れ、顔の一部がよじれたエリアのいずれか1つに入ると、ユーザの顔が画面上でよじれるので、これは、自分の顔を画面の中心に保つことによってシステムを正しく使用するようにユーザをトレーニングする。
【0127】
低照度環境での認証
撮影を容易にするため、モバイルデバイス上の画面はさらに、白色の背景で表示されてもよく、暗い環境でユーザの顔を照らすために、画面の明るさを上げることができる。例えば、ディスプレイの一部は、ユーザが自分自身を撮影していること確認するためのビデオフィードバックを提供でき、ディスプレイの残りの部分は明るい白色を表示するように構成される。図11Cに示されている例を参照すると、これは、ディスプレイの中央にビデオフィードバック1116cを表示し、ビデオフィードバック1116cをとりまく明るく白いバーとして周囲のエリアを表示することによって達成できる。非常に暗い状況では、モバイルデバイスの背面のLEDフラッシュと背面カメラを使用できる。あるいは、カメラは、赤外光か他の暗視技術を用いて画像を作るように構成されてもよい。
【0128】
熱式撮影として赤外線撮影が使用される場合は、さらなるセキュリティ強化が可能である。具体的には、熱式撮影を分析して、得られた画像が実際のユーザからのものであるか、それとも画面または他のデバイスからの不正な画像であるかを指摘することができる。人が赤外線熱式撮影カメラの前にいるときに、検出される熱放射は、人の頭を示すほぼ楕円形になるはずである。対照的に、画面から放射される熱は、通常は長方形である。さらに、実際の人の顔で検出される熱パターンと画像内の熱パターンの動きを、人間の顔の予想される熱パターンと比較して、画面を使用した不正な認可試行から画像を区別することができる。
【0129】
モバイルデバイスからの出力の検出
モバイルデバイス上のディスプレイやその他の光源は、追加のセキュリティ対策を提供するためにさらに利用できる。上述した認証過程では、ディスプレイやその他の光源からの光がユーザの顔と目に投射される。そして、この投射される光は、撮影中にモバイルデバイスのカメラで検出できる。例えば、皮膚上で検出される色調やユーザの目の角膜からの光の反射は、携帯電話機のカメラで撮影できる。このため、ランダムな光パターン、色、およびデザインを利用して、さらなるセキュリティを提供し、不正を働く者によって撮影されている人物の単なる画像やビデオではなく、認証を試みる生身の人間が存在することを確認することができる。
【0130】
一例として、ユーザが認証を開始するときに、認証サーバは、ランダムな色のシーケンスをランダムな間隔で表示する命令を生成し、ユーザのデバイスへ送信することができる。認証サーバは、ランダムに生成されたシーケンスを、後ほどモバイルデバイスから受信される認証情報と比較するために、格納する。認証撮影中にデバイスによって表示される色はユーザの顔に投影され、ユーザの目(目の角膜)で、または画面からの光を受けて反射する他の何らかの表面で、反射される。ユーザのモバイルデバイス上のカメラは、ユーザの皮膚または目(または他の表面)で反射された色を検出し、画面投影に基づいて検出された色を示す色データを生成する。このデータは認証サーバに返すことができ、モバイルデバイスへ送信された色のシーケンスまたはパターンがユーザデバイスの画面によって投影されたその既知のシーケンスまたはパターンと一致するかどうかを判断する。認証サーバにおけるこの比較に基づいて、認証は成功し、または拒否される。生身のユーザが認証されていると判断するため、命令内のランダムな色のシーケンスとの比較は、代わりに、ユーザデバイスのみで行われてもよい。
【0131】
別の例として、ユーザが認証を開始するときに、認証サーバは、ランダムに生成されたパターンを表示する命令をユーザのデバイスに送信でき、これはその後、認証サーバに格納される。このパターンは、グラフィック、テキスト、線またはバー、点滅する光のパターン、色、QRコードなどを含み得る。ランダムに生成されるパターンは認証撮影中に表示され、パターンはユーザの目(角膜)で反射される。ユーザのデバイスのカメラは、ユーザの目から反射されるパターンを検出し、表示されたパターンの反射された鏡像を処理する。処理されたパターン(例えば数値に変換される)は、認証サーバへ送信され、ランダムに生成されて認証サーバに格納されたパターンに比較されて、画面によって表示されユーザの顔で反射された後に撮影されたパターンがパターン一致を成立させるかどうかを検証する。
【0132】
一致する場合、これは、デバイスによって生身の人が撮影されている尤度を確証または増大させる。パターンが一致しない場合、または一致の閾値を満たさない場合、認証プロセスは失敗し(アクセス拒否)、またはアカウントアクセスもしくは取引額が制限される可能性がある。上述した登録移動と認証移動を取り入れていないウェブカメラが備わったデスクトップコンピュータにもこの例を取り入れることができることに留意されたい。さらに、この例は、顔認識に取り入れることができるだけでなく、虹彩認識、または他のあらゆるタイプの目の血管の認識、またはユーザに固有のあらゆる顔特徴のためのさらなるセキュリティ層として機能することもできる。
【0133】
上記の例がデスクトップコンピュータ上で実施される場合は、アイトラッキングを利用して生身のユーザの存在をさらに実証することもできる。例えば、画面は、ランダムなパターンで移動するボールまたは他のランダムな物体またはシンボルを表示でき、ユーザはこれを自身の目で見る。カメラは、このリアルタイムの動きを検出して、ユーザが画像やディスプレイではなく生きていることを検証し、目または頭の動きが、認証システムが知っている画面上の物体または語の予想される動きに対応し一致していることを検証することができる。画面上の或る位置でのマウスクリックなどによってアンカー点を確立し(マウスクリックが行われたその位置をユーザが見ていると仮定する)、次いで、ユーザがアンカー位置に対して画面のどこを見ているかを推定することによってアイトラッキングを行うこともできる。
【0134】
画面上の移動物体の使用は、モバイルデバイスまたは固定デバイスでの登録時にも有益であり得る。例えば、登録画像をキャプチャしている間に、デバイスは、画面上を動きまわる移動デジタルオブジェクト(円または語など)を表示でき、ユーザは自分の頭と目でそれを追従するように促される。この動きはユーザが無意識に行うものであってよく、またはデバイスが、オブジェクトを追従することをユーザに命令するように構成されてもよい。その結果、頭および/または目の動きによってデバイスカメラでユーザの頭および顔の向きに小さな変化が生じ、より完全な登録情報が提供される。より完全な登録情報により、システムは、将来の認証試行中に角度がわずかに異なってもユーザが後ほど高い比率で認証されることをより確実にできる。
【0135】
「ズーム」による直感的なユーザトレーニングとセキュリティ強化
一実施形態において、システムは、ユーザがシステムとの認証を容易に学習するのを支援するように構成される。図13Aに示されているように、前述したように登録または認証が開始されると、システムは、モバイルデバイス1310がユーザを撮影している間に、ユーザのモバイルデバイス1310に小さな楕円1320を画面1315上に表示させる。画面1315上に表示される命令1325は、自分の顔または頭が楕円1320内に現れるようにモバイルデバイス1310を保持することをユーザに命令する。楕円1320は小さいので、ユーザは、モバイルデバイス1310を保持しながら腕を真っすぐ伸ばすなどして、モバイルデバイス1310を自分の身体から離して保持する必要がある。最大の腕の長さおよび顔のサイズは、ユーザに固有である。他の実施形態では、車や混雑した場所など、スペースがない場合の操作に対応するために腕を完全には真っすぐ伸ばせないことがある。小さな楕円1320は、ディスプレイの中央に示されているが、画面1315上のどこに配置されてもよいことに留意されたい。
【0136】
次に、図13Bに示されているように、システムは、ユーザのモバイルデバイス1310により大きな楕円1330をディスプレイ1315上に表示させる。ディスプレイ1315はまた、自分の顔に「ズームイン」して楕円1330を自分の顔で満たすことをユーザに指図する対応する命令1335を表示できる。ユーザは、ユーザの顔が楕円1330を満たすか楕円を超えるまで、(例えば、図7Aおよび図7Bに示されているように)モバイルデバイス1310をユーザの顔に概ね直線的に近づけることによってこれを行う。他の実施形態では、大きな楕円1330がモバイルデバイス1310をユーザの顔に近づけることをユーザに促すプロンプトとなってもよい。
【0137】
したがって、システムは、上述したように登録および認証移動と共に登録および認証画像を提供する簡単な方法をユーザに提供し、教示する。システムはまた、画面1315上の小さな楕円1320の位置を変えることによって、また表示される楕円の順序およびサイズを変更することによって、様々な登録および認証移動を教示できる。例えば、ユーザは、モバイルデバイスを移動させることによって、途中までズームインし、次にズームアウトし、次に全面的にズームインすることができる。システムは、通常はユーザが画面にタッチすることを必要とするカメラのズーム機能(装備されている場合)が使用されていないことを監視するように構成されてよい。
【0138】
一実施形態において、登録移動は省くことができ、認証移動は、画面上のプロンプトに基づいて予想される移動に比較できる。例えば、デバイスまたは認証サーバは、一連のサイズが異なる楕円を生成し、ユーザは、ユーザの手に保持されたモバイルデバイスを動かすことによって自分の顔を楕円の中に置かなければならない。このように、認証移動は、画面に表示される楕円の順序、サイズ、および配置に応じてログインのたびに異なり得る。
【0139】
システムは、図13Aおよび図13Bに示されているように「ズームイン」移動が使用される場合に、他のセキュリティ機能を取り入れることもできる。ズームイン機能は通常、デバイスをユーザに近づけたり遠ざけたりすることによるものであるが、カメラズーム機能も考えられる。被写体とカメラとの間で比較的近い距離で画像が撮影されると、画像は射影歪みとして知られるものによって歪められる。一部の文章は、この歪みを魚眼型歪みと呼ぶことがあるが、射影歪みがより正確な技術用語である。さらに、広角レンズとして構成されたレンズが画像内のたる形歪み(レンズ歪みの一種)に寄与することがある。別種のレンズ歪みも存在する。様々なデバイスの様々なタイプのレンズについて、これらの歪みを追跡できる。画面に表示されたプロンプトの中に顔を合わせるために「ズームイン」移動を行うユーザが経験する歪みの程度は様々であり、カメラのレンズで使用されている光学系の種類、歪みの種類、および他の要因に左右される。
【0140】
この歪みは、人が自分の顔をレンズに近づけて撮影するときに、その人の顔の画像でより顕著となる。この効果により、人の顔の相対的な寸法が、人の顔がレンズから遠く離れた状態で撮影が行われる場合とは異なって見える。例えば、画像が離れて撮影される場合に比較して、画像が近接して撮影された場合は、人の鼻が人の顔に対してはるかに広く高く見えることがある。相対的な寸法の差は、人がレンズから離れて撮影されるときの顔特徴とカメラとの間の比較的等しい距離に比較して、人がレンズの近くで撮影されたときの様々な顔特徴とカメラとの間の距離の比較的大きい差によって生じる。
【0141】
多くの顔認識アルゴリズムにおいてそのような差が著しいことが分かっている。すなわち、顔認識アルゴリズムにより、近い近接度で撮影された生身の人の画像と、遠い近接度で撮影された同じ人の画像とで、一致尤度が高くならないことがある。対照的に、カメラによって人の二次元写真が近い近接度とより遠い近接度の両方で撮影される場合、レンズと二次元画像の顔特徴との間の相対距離(長さ)はさほど大きく変化しない。したがって、レンズの近くで撮影された場合とレンズから離れて撮影された場合に、顔認識アルゴリズムは二次元写真を高い一致尤度と認識する。
【0142】
この効果によって、カメラとユーザの顔特徴との角度に基づいて、ユーザのモバイルデバイスのカメラによってユーザのどの部分が見えるかも変わる。例えば、より遠くで撮影された場合、カメラは、画像内にユーザの耳が見えるようにユーザの顔を撮影できる。しかし、ユーザデバイスがユーザの顔に近づけられると、カメラによってキャプチャされた画像はユーザの耳を含まなくなる。これは、ユーザの頬/頬骨などのユーザの顔の他の顔特徴が、カメラからユーザの耳までの視線を遮るためである。対照的に、カメラによって二次元画像が撮影される場合は、カメラが二次元画像に近いか遠く離れているかにかかわらず、カメラには常に二次元画像の同じ顔特徴が見える。したがって、ユーザの顔または他の特徴のどの部分が画像内に存在するかの変化を検出することによって、ユーザの顔の三次元または生気をさらに検証できる。
【0143】
上述したこの効果は、認証システムのセキュリティを高めるために利用できる。例えば、登録中には、移動による他の位置に加えて、ユーザによってレンズから近い近接度と遠い近接度の両方で登録画像が提供され得る。後ほど、認証中には、レンズから近い距離と遠い距離の両方で認証画像を得て、それらが登録画像から得られた登録情報と一致するかどうかを判断できる。さらに、実際の三次元の人が存在する場合には射影歪みが予想されるため、顔特徴の寸法に相対的な変化がないと、システムは認証時に不正な試みを警戒する。この効果は、二次元画像(プリントされた写真または画面)では容易に再現できず、したがって、このステップは、(3D顔の代わりに)二次元画像が認証に使用されるのを防ぐための保安検査としての役割を果たすことができる。
【0144】
換言すると、ユーザの顔に「ズームイン」および「ズームアウト」するこの動きを使用して、同じ人に対して2つ以上のバイオメトリックプロファイルを作成できる。人の複数のプロファイルのうちの1つは、カメラから遠くに撮影されてよく、複数のプロファイルのうちの1つは、カメラの近くで撮影された人のものであってよい。システムが人を認証するためには、認証画像およびバイオメトリックは、登録画像およびバイオメトリックの2つ以上のプロファイルと一致しなければならない。
【0145】
加えて、システムは、近い近接度と遠い近接度で得られた画像の背景を比較することによって、人の不正な写真と比較した現実の人の存在を検出できる。人の顔が楕円1320内に収まるようにモバイルデバイス1310が保持されると、人のほぼ真後ろにある背景内の物体が見えることがある。しかし、人の顔がより大きな楕円1330内に収まるようにモバイルデバイス1310が保持されると、人の顔は、人のほぼ真後ろにある同じ物体を見るカメラの能力を妨げる。したがって、システムは、近い近接度で得られた画像の背景と遠い近接度で得られた画像の背景とを比較して、現実の人がシステムでの認証を試みているかどうかを判断できる。
【0146】
勿論、図13Aおよび図13Bでは、楕円1320および1330以外の形状またはガイドを使用して、モバイルデバイス1310を顔から適切な距離に保持するようにユーザを案内できる。例えば、モバイルデバイス1310は、完全または不完全な正方形または長方形のフレームを表示できる。さらに、システムは、さらなるセキュリティを加えるために、楕円1320、1330などのフレームのサイズおよび位置を変えることができる。例えば、システムは、中サイズのフレーム、小さいフレーム、次いで大きいフレームを要求できる。別の例として、システムは、第1の位置と第2の位置で小さいフレームを要求し、次いで大きいフレームを要求できる。これは、別々のユーザに別々の登録および認証移動を教示するために、または認証システムのセキュリティを高めるために、ランダムに行われてよい。
【0147】
本書で説明されている他のセキュリティ機能の結果に基づいて、ユーザに提示されるフレームサイズの数も1人のユーザで異なり得る。例えば、デバイスが予想外の位置にあることをモバイルデバイスのGPS座標が示す場合は、様々な距離にあるより多くのフレームを認証のために要求できる。ユーザからモバイルデバイスまでの望ましい距離にユーザを案内するため、光、語、またはシンボルなどの1つ以上のインジケータをユーザに見えるように画面上に提示できる。
【0148】
図13Aおよび図13Bでは、システムは、登録と認証に使用されるモバイルデバイスに基づいて、また既知の信頼できる登録データに基づいて、画像の予想される射影歪みを予測できる。加えて、または代わりに、所与の機種の携帯電話機カメラの既知の仕様を利用して、レンズからの様々な距離における人の顔特徴の予想される歪みを予測できる。それ故、認証はデバイスに依拠し得る。さらに、カメラからの可能な距離ごとにユーザからの登録情報は必要とされない。
【0149】
例えば、上述したように、登録画像およびバイオメトリックは、ユーザから少なくとも2つの距離で得ることができる。認証中には、登録画像およびバイオメトリックの近距離および遠距離に対応する画像に加えて、複数の中間画像がキャプチャされる。デバイスが移動した距離に応じたこれらの中間画像の予想される歪みパターンに基づいて、システムは、2つの登録プロファイルしか得られていない場合でも、画像の歪みの変化が正しい割合で起きていることを立証できる。
【0150】
これらの画像のキャプチャは、静止画像またはビデオであってよく、ユーザから離れた第1の位置およびユーザに近接した第2の位置からの移動中に撮影されたビデオからフレームまたは画像が抽出される。したがって、作業は、ズーム動作中に多数のフレームをキャプチャし、加速度計や磁力計などからのデータに基づいて、頭のサイズとモバイルデバイス距離の移動に対して正しい割合で歪みが生じていることを保証できると考えられる。
【0151】
時間の経過にともない蓄積されたデータ、または設計段階中に計算されたデータに基づき、システムは、電話機がユーザの顔に向かってある程度の距離だけ動かされた場合に、歪み効果が最終歪みレベルまたは初期歪みレベルの既知のパーセンテージ内に入るはずであることを示すデータを有する。したがって、本書で開示されている認証システムを欺いたり騙したりするには、不正の試みは、不正な二次元画像を歪める必要があるだけでなく、背景をカットし、ビデオ画面からのバンディングも画面のエッジも見えないようにして、すべてを正しい速度で徐々に行う顔、歪み、および背景のビデオを作る必要もあるが、その見込みは極めて低い。
【0152】
現在知られている多くの顔検出アルゴリズムと顔認識アルゴリズムは、描写された頭が画像の寸法より小さい画像内の顔のみを探すように構成されている。ユーザの額、耳、または顎がフレーム内に見えない場合、顔の残りの部分は検出されない。したがって、顔検出アルゴリズムと顔認識アルゴリズムがズームインされた画像(図13B)内でユーザの顔を確実に検出し認識するようにするため、システムは、近接して撮影された画像の周りに大きなバッファゾーンを加えることができる。これにより、より大きな全体画像が作られ、元の画像においてユーザの顔が大きい場合でも、現在の顔検出アルゴリズムと顔認識アルゴリズムで顔を検出し認識することが可能になる。一実施形態において、顔検出は、目、鼻、口などの顔の部分を検出し、かつ存在するそれらの特徴のうちのいずれか1つ以上に基づいて顔全体が存在すると推定するように構成されてよい。
【0153】
図13Aおよび図13Bで説明したプロセスから得られる登録および認証移動が使用される場合は、上述したアイトラッキングセキュリティ機能も強化できる。例えば、ユーザがモバイルデバイス1310を自分の顔に近づけて楕円1330を満たすように指図されるときには、QRコード、ランダムな形状、バーコード、色、テキスト、数字または他の何らかの視覚的なインジケータを画面に表示できる。この近距離では、ユーザの目または顔からの表示されたインジケータの反射は、カメラによってより容易に撮影できる。さらに、近くでは、撮影されている人の「生気」を判断するための目の動きや瞬きなどもより容易に得ることができる。
【0154】
一実施形態において、認証のために生気を証明するためには、少なくとも1回の瞬きが必要である。別の実施形態では、瞬きをカウントでき、認証中に時間の経過にともなう瞬きの回数を平均できる。これにより、動作中に観察される瞬きの回数を認証のさらなる要因とすることができる。動作中にユーザが瞬きするときのパターンが観察される場合、システムは、将来の認証試行のときに動作中に予想される時間およびデバイス位置でユーザが瞬きすることを検証できる。場合によっては、システムは、ユーザに瞬き、ウィンク、微笑みなどを促し、キャプチャされる画像を監視して、ユーザが所定の時間内に促された動作を実行したことを検証できる。一連の促し動作をユーザに与えて実行させることができる(例えば、瞬き、右目をウィンクし、次いで微笑む)。一例では、促された動作が順不同で実行された場合、または期間内に実行されなかった場合、これは、生身のユーザの代わりに不正な録画が使用されていることを示唆し得るため、システムは認証を阻止する(ユーザをロックアウトする)ことができる。
【0155】
他の実施形態において、楕円またはフレームのサイズまたは位置は、図13A図13Bに示されているサイズまたは位置以外のサイズまたは位置に変わることができ、ユーザは、自分の顔を楕円の中に入れるように電話機を配置しなければならないおよび/または傾けなければならない。これは、ユーザの生気を保証するもうひとつの方法を確立する。楕円は、小さく始まって大きくなってよく、または大きく始まって小さくなってもよい。形状は、正方形、三角形、長方形、または他の何らかの形状など、楕円以外の形状であってもよい。形状の代わりに、または形状に加えて、電話機をユーザの顔に近づけたり遠ざけたりすることをユーザに命令するテキストが表示されてもよい。
【0156】
例示的な一方法では、ユーザから第1の距離にモバイルデバイスが配置され、第1の画像が処理のためにキャプチャされる。この距離は、ユーザから直線的に離れていてよく、本実施形態では、円弧または軌道でなくてよい。これは、ユーザがモバイルデバイスを手で移動させることによって、またはモバイルデバイスが可動のデバイスまたは鉄道システム上にあることによって、起こり得る。または、固定されたシステムにある場合は、レンズシステムを調整して、フレームサイズに対するユーザの顔のサイズを変えることができる。あるいは、ユーザは静止したままであってもよく、複数のカメラが使用されてもよく、またはユーザは動かずカメラが動いてもよい。(デバイス、カメラ、レンズ、またはユーザから)何らかの動きが生じて第2の距離にカメラが設定されると、第2の画像が処理のためにキャプチャされる。第1の位置から第2の位置への移動は、ユーザに向かって真っすぐであってよい。両方の画像に対して処理が行われる。
【0157】
処理は、現実の人が撮影されていることを示す2つの画像の差異、または2つの画像から得られたバイオメトリックの差異を検証するための計算を含んでよい。第1の認証画像を(第1の距離に対応する)第1の登録画像に比較して、一致の有無を判断し、次いで第2の認証画像を(第2の距離に対応する)第2の登録画像に比較して、一致の有無を判断するために、処理が行われてよい。一致が起きる場合は、認証を進めることができる。
【0158】
これらの方法のバリエーションも可能であり、システムは、第1の距離では一致を要求するが、第2の距離では不一致を要求し、第2の画像が二次元画像のものではないことを指摘する。一致または不一致に行き着く処理は、どんなタイプの画像または顔認識処理アルゴリズムであってもよい。本書で説明されている他の処理と同様、処理は、モバイルデバイス、1つ以上のリモートサーバ、またはそのようなデバイスの任意の組み合わせで行われてよい。
【0159】
本書で説明されているすべての処理は、モバイルデバイスのみ、リモートサーバのみ、またはそれらの組み合わせで行われてよい。バイオメトリックデータは、モバイルデバイスもしくはサーバに格納されてよく、またはセキュリティの目的のためにそれら2つの間で分割されてもよい。例えば、画像は、モバイルデバイス上で処理されるが、クラウドまたはリモートサーバ内の登録データに比較されてもよい。あるいは、画像は、処理と比較のためにクラウド(リモートサーバ)へ送信されてもよい。
【0160】
深度検出のための画素相対速度
システムはさらに、デバイスによって得られた認証情報が生身の三次元の人の画像および/またはバイオメトリック情報を含むかどうかを判断するために、本書で一般的に画素速度分析と呼ばれる作業の使用を取り入れることができる。画素速度分析は、目に見えるシーンの中で物体、表面、およびエッジの見かけの動きのパターンを追跡する。例えば、画素速度分析は、少なくとも2つのフレームにおけるカメラとシーンとの相対運動によって生じる連続画像内の特徴の見かけの動きを追跡する。
【0161】
一例において、カメラとシーンとの相対運動がある場合、シーンの中でカメラに近い物体は、カメラから遠い物体とは異なる速度で移動するように見える。この移動または画素速度は、カメラが動かされるにつれて物体が画像内で位置を変えるときに、画像内の物体を表す画素値の変化に反映される。
【0162】
例えば、壁の時計や風景の中の遠くの木など、背景要素は、画像の中で画素配列で表され得る。前景要素も、撮影されている人の顔または顔特徴として画素配列で表され得る。カメラと前景要素および背景要素との間の相対距離が変化すると、前景要素および背景要素を表す画素は、画素配列の中でその位置を変える。カメラが動かされるにつれて、それぞれの画素が特定の要素を表す、またはキャプチャする。重要なこととして、カメラと前景要素およびカメラと背景要素との間の距離の差は、前景要素および背景要素の画素の変化率(画素速度)を異なるものにする。
【0163】
いくつかの例では、画素速度の相対的な変化について前景物体の様々な特徴を比較できる。この例では、鼻や頬などの様々な顔特徴の画素速度を比較できる。現実の三次元の人の様々な顔特徴の画素速度は、画像のフレーム上での位置とカメラからの相対距離とに基づいて異なる。例えば、ユーザの鼻を表す画素は、カメラがユーザの顔に近づくかユーザの顔から遠ざかるにつれて、ほとんど動かない場合があり、顔の外側の特徴を表す画素は、より大きく動く。
【0164】
いくつかの例では、カメラが使用に近づけられるにつれて、いくつかの背景要素はユーザの顔によって遮られ、したがって特定の要素は遮られる。これは、生身の三次元のユーザではなく、不正やスプーフィングの試みなどでユーザの二次元画像が撮影された場合には起こらない。
【0165】
それぞれの移動速度をキャプチャし、徐々に撮られたフレームで比較できる。画像の前景および背景における物体の異なる移動速度または速度(経時的な変化率またはカメラ位置に基づく)を検出することによって、不正な認可試行で使用されている二次元画像に比較して、画像が生の三次元画像であると判断できる。
【0166】
例えば、(カメラから遠い)背景内の物品は、(カメラに近い)前景内の物品に比較して、異なる速度(単位時間当たりまたは1フレーム当たりの配列内の画素位置数)で移動し得る。連続する画像で表される画素配列での異なる変化率を検出することによって、画像の中の物体が三次元であると判断できる。対照的に、システムを騙そうとして二次元の印刷画像が使用される場合は、印刷画像の画像内のすべての画素が同じ速度で移動する。これは、二次元の印刷画像に表示されているすべての特徴が、カメラから基本的に同じ距離に位置するからである。
【0167】
特に、前景内の物品は、背景内の比較された物品として、より高い速度で動く(画素配列内の移動)。デバイスのカメラがユーザの顔を撮影している場合は、前景はユーザの顔になり、背景は、ユーザの顔の後ろの壁、建物、木、または他の物品など、ユーザの後ろのシーンになる。背景内の物品の画像を形成する画素配列内の画素位置に比較して、前景内の物品の画素位置の変化率を検出することによって、シーンが三次元のシーンであるという判断が下される。
【0168】
さらに、画素速度分析はエッジ検出をも含む。それ、三次元画像内の特定の識別された特徴は、いくつかのフレームでは見ることができるが、他のフレームでは見ることができない場合がある。これは通常、画像の前景にある物体のエッジの周りで起きる。例えば、ユーザが自分の顔から遠く離れた距離から自分の顔に近い距離までカメラを移動させながら自分の顔を撮影する場合は、ユーザの顔がフレーム内のより多くの空間を占めるにつれて、画像の背景内の物体が消える。画素速度分析は、顔のエッジの周りの背景内の物体を識別するように構成され、顔が拡大するにつれて物体が動いて顔の後ろで消えること、またはカメラが近づいて画像内で顔が拡大するにつれて検出された顔が特徴に取って代わることを、または特徴を覆うことを、チェックする。これは二次元画像では起きない。
【0169】
顔自体の中の画素位置の割合を観察することによって、さらなる比較を行うことができる。例えば、前景上の画素が背景上の画素に比較して異なる速度で変化する場合、または背景画素に取って代わる場合は、その人物を三次元として識別または見なすことができる。例えば、カメラが顔に近づくにつれて、鼻を示す画素が上唇および内側頬の画素に取って代わり、頬を示す画素が耳を表す画素に取って代わり、顎を示す画素が画像内の首を表す画素に取って代わる場合は、撮影されている人を現実の三次元の人として識別できる。さらに、識別される特徴そのものの動きまたは速度は、フレーム内での特徴の位置とカメラからの特徴の距離とに基づいて変わる。したがって、顔の外側の特徴は、顔の中心寄りの特徴とは異なる画素速度を呈する。同様、目や頬などの特徴は、カメラからの相対距離の違いのため、鼻に比較して異なる画素速度を呈する。
【0170】
この比較を行うためには、2つ以上の画像をキャプチャしなければならない。例えば、ユーザから第1の距離で第1の画像が撮影され、次いでユーザから第2の距離で第2の画像が撮影されるなどである。比較は、第1の画像と第2の画像の中の1つ以上の要素(物品)の画素位置で行われ、加速度計とジャイロによって確認されるデバイスの動きと相関させることができる。
【0171】
画像内の様々な識別された特徴に対して検出される画素速度をマッピングして、「ヒート」マップまたは画素速度の他のタイプのマッピングを形成することができる。顔が撮影されているこの例では、検出された画素速度が検出された顔特徴の各々にマッピングされる。画素速度が高い特徴の場合、マップは、顎や頬骨などの顔のエッジ沿いの特徴などで「ホット」エリアを示すことができる。鼻のような画像の中心にある特徴など、画素速度が低いエリアの場合、マップは「クール」エリアを示すことができる。このヒートマップまたは変化率マップを分析することにより、画像が二次元画像のものであるか、それとも三次元環境内の生身の人間のものであるかを判断できる。
【0172】
デバイスとカメラが或る位置から別の位置に移動される場合は、上述した認証システムで画素速度分析を有利に使用できる。例えば、図13Aおよび図13Bに示されているように、認証している人が自分の顔を小さい楕円内と大きい楕円内に収まるようにデバイスを動かすと、システムは、2つ以上の画像で画素速度分析を行うことができる。
【0173】
このプロセスの一例を、図14を参照して説明する。デバイスまたはサーバによって第1の画像が受信されると、その画像の中で所定の物体を検出するために、ステップ1402において、その画像に対して特徴認識が行われる。この場合は、ユーザの鼻、目、頬骨、顎など、ユーザの顔および/またはユーザの顔の顔特徴の存在を確認するために、顔または特徴検出が使用される。
【0174】
次に、検出された特徴を表す画素がシーンの前景または背景に位置する特徴に対応するかどうかを判断するため、ステップ1404では、システムが1つ以上の後続フレームで画素位置を分析する。
【0175】
一実施形態では、図13Aおよび図13Bに示されている楕円など、ユーザが自分の顔を楕円内に収まるようにデバイスを動かすと、ユーザの顔は、画像の前景として、または楕円1320、1330内の特徴として、識別される。人の部屋または環境を示す顔の周りのエリアは、画像の背景として、またはエリア1315内の特徴として、識別される。加えて、フレーム内で比較的異なる距離および位置の特性で顔特徴が振る舞うことを検証できる。例えば、鼻、口、および顎は前景特徴と見なすことができ、頬、耳、および顎線は背景特徴と見なすことができる。
【0176】
ステップ1406では、特徴の流れまたは動きを特徴付ける二次元ベクトルを得るために、連続する画像で様々な特徴が追跡される。この例における特徴の動きは、ユーザが自分の顔を図13Aおよび図13Bの例示的な画面表示に示されている楕円内に収まるようにデバイスを動かすにつれて生じる。そのような動きは、鼻が上唇および内側頬の画素に取って代わり、次いで、頬が耳を表す画素に取って代わり、顎が首を表す画素に取って代わることを含み得る。
【0177】
次いで、デバイス(メモリに格納された機械可読コードを実行するプロセッサ)は、デバイスがユーザの顔に近づくにつれて、(画素配列によって形成された)画像フレームを比較する。前景内と背景内の画素によって表される物体の速度特性を判断するため、画像内の物体を表す画素が追跡される。システムは、デバイスによって撮影された連続画像を比較することによって、画素データまたは二次元画素速度ベクトルに基づいて、物品の位置のこれらの変化を検出する。生身の三次元のユーザが認証しているときには、前景特徴(顔)と背景特徴の速度特性は、撮影されている二次元のスプーフィングの速度特性と比較して、大幅に異なる。すなわち、ユーザが自分の顔を図13Aおよび図13Bに示されている楕円に収まるようにデバイスを動かすと、生身の三次元の人の顔特徴の速度特性は、二次元のスプーフィングと比較して、異なる。
【0178】
したがって、ステップ1408では、前景特徴の二次元ベクトルが生身の三次元の人の期待値と一致するかどうかをシステムがチェックする。画素位置または値によって指定される画像内の物品の期待値または予想変化率は、(人の2D写真またはビデオ画面とは対照的に)三次元性を示す予想位置、予想変位、物品の予想変化率、または変化率の予想差などの経時的な実験に基づかせることができる。この例で、実験は、耳、頬骨、鼻などの動きまたは速度の期待値を設定できる。二次元ベクトルが期待値と一致する場合、方法はステップ1410に進み、画像が生身の三次元の人のものである尤度を上げる。二次元ベクトルが期待値と一致しない場合は(または二次元のスプーフィングが使用される場合に予想される値と一致する場合は)、ステップ1412に示されているように、方法は、画像が生身の三次元の人のものである尤度を下げる。
【0179】
生身の三次元の人が撮影されているときには、二次元ベクトルは、または連続する画像での画素の変位は、画像の前景と背景とで異なる。したがって、ステップ1414では、システムが背景物体の二次元ベクトルを分析して、これらが期待値と一致するかどうかも判断する。ステップ1410または1412では、画像が生身の三次元の人のものである尤度が再び更新される。
【0180】
上述したように、特定の背景物体を表すいくつかの画素は、完全に現れ得る、または消え得る。例えば、ユーザがデバイスを腕の長さから自分の顔の近くに移動させると、ユーザの顔の画素、エッジ、および/または特徴は、壁の額縁や時計といった背景の特徴より高い移動速度を有する。加えて、デバイスがユーザから最も遠くにあるときにユーザの顔の上または周囲に見えるいくつかの画素は、ユーザがデバイスを自分の顔の近くに移動させると見えなくなる。人の顔の周囲の画素は顔ハローと定義でき、人の顔に近づくカメラの動きによって画像に占める人の顔の割合が大きくなり、人の顔が「拡大」するため、これらの画素(顔ハロー)内の物品はカメラによって画像内にキャプチャされなくなる。上述したように、このチェックはエッジ検出と呼ばれることがある。ステップ1416では、前景画像のエッジの周りの背景画像が期待値と一致するかどうかをシステムが検証する。システムはまた、前景物体(顔など)のエッジを表す画素が前景物体のエッジ付近の背景物体の画素に取って代わることを保証する。ステップ1410および1412では、ステップ1416におけるエッジ検出の結果に基づいて、画像が生身の三次元のユーザのものである尤度が調整される。したがって、これらの画素と変位を追跡することによって、システムは、画素速度分析が前景と背景とを有する三次元物体と合致するかどうかを検証できる。
【0181】
ステップ1418では、上述した様々なチェックに基づいて、撮影され認証されているユーザの生気または三次元性が立証される。認証を試みるユーザが生身の人であるという判断は、認証の一部として満たされなければならない1つの要素である。したがって、人の画面や写真を使用してアカウントやデバイスに不正にアクセスしようとする試みは、より確実に防止できる。これにより、人の印刷画像、デジタル投影、またはデジタル画面画像などの二次元画像で認証システムを騙そうとする試みは防止される。
【0182】
生気または三次元性に画素速度分析を使用してさらなる改善を達成することもできる。ユーザがデバイス(カメラ)をユーザの顔に近づけると、カメラが顔に近づくにつれて、様々な特徴とカメラとの間の大きな相対距離とカメラの視野内での特徴の位置によって、顔特徴は様々に歪む。この効果は、射影歪みと呼ばれることがある。この歪みが生じ始めると、鼻などの顔の中心の特徴を表すフレームの中心の画素は、フレーム内での歪みの量が最も少なくなり、頬、顎、額などの顔の外側部分を表す画素は、(フレームの中心の画素より)最も相対的な画素移動と最も高い加速を示す。したがって、三次元性は、顔自体の特徴を比較することによって証明することもできる。これは、デバイスに近接しているときに、デバイスにより近い顔特徴は前景特徴と見なすことができ、デバイスからより遠い顔特徴は背景特徴であるからである。例えば、デバイスが目の高さに保持されているときのカメラからの鼻のより短い相対距離のため、フレームからフレームにかけて鼻を表す画素は頬骨を表す画素より少ない動きを示す。
【0183】
画素速度分析を使用して、不正な認証事象時に再現することが極めて困難な生気特性を追跡することもできる。例えば、人間の目は、物体に焦点を合わせているときでも完全に静止しているわけではない。目が物体を精査し、物体の興味深い部分を見つけるために動き回り、シーンに対応する心的な三次元「マップ」を作るときには必ず、目の素早い不随意運動がある。これらの運動はサッカードと呼ばれ、不随意である。サッカードは20ms~200ms続き、固視の機構として機能する。したがって、複数のフレームにわたる目のサッカード運動によって、画素値に基づく目の動きに基づく二次元速度ベクトルが生成され得る。これらのベクトルの存在、アイジッタのヘルツ、および複数のフレームにわたる画素移動の加速度は、検証されたセッションの測定値に比較でき、カメラの前にいるユーザが写真、ワックス彫刻、または人形などの無生物のスプーフィングではないという確信を高めるために使用できる。
【0184】
別の例では、明るい光が人間の目に提示されると、網膜への光の経路を和らげるために瞳孔が収縮する。スマートフォンなどの典型的なモバイルデバイス上のカメラは通常、十分な高解像度で動作するので、ユーザがデバイスと画面を動かして自分の顔の近づけるとき、またはモバイルデバイスの前面フラッシュが起動されるときなど、目に入る光の量が増加する一連のフレームにわたって比較したときに、二次元速度ベクトルは収縮する瞳孔を追跡する。
【0185】
画素速度分析によって検出できる別の特徴は、ユーザの目からの反射である。瞳孔が収縮すると、目の表面に当たって反射する光の量が多くなり、発光物体の反射がより明るくなる。画面が照らされたデバイスが動かされてユーザの顔に近づく場合、瞳孔のサイズが縮小している間は、デバイスの画面の反射のサイズおよび明るさが増大する。一貫した移動経路でこれらの二次元ベクトルを観察して記録し、次いで、観察されている、または存在しない、予想二次元ベクトルに基づいて、ビデオフレームセッションに対する生気評価を提供することが可能である。
【0186】
顔認識アルゴリズムは、顔上のランドマーク点を使用して、顔特徴間の距離および角度を測定する。これにより、個人の固有の外観と対応する固有のバイオメトリックデータとが作成される。いくつかの実施形態において、画素速度分析は、人の三次元性を検証するために使用できるだけでなく、追加または代替の顔認識アルゴリズムとして使用することもできる。
【0187】
この場合は、図13Aおよび図13Bに示されているように、ユーザが楕円に収まるようにカメラを動かしながら登録画像を提供するときに、デバイスはユーザの顔全体の特徴の二次元ベクトルを認識できる。形成されるこれらの二次元ベクトルは、カメラがユーザの顔に近づけられたときにユーザの顔の三次元特性によって生じる顔特徴の歪みと動きによって生じる。二次元ベクトルを追跡し、二次元ベクトルをユーザの顔の特徴の各々にマッピングすると、二次元カメラを使用するユーザの顔の固有の「ヒート」マップができあがる。「ヒート」マップは、より小さい二次元ベクトルが他の顔特徴の小さい画素速度を示す「クール」エリアとは対照的に、より大きい二次元ベクトルが特定の顔特徴の増大した画素速度を示す「ホットスポット」を示す。
【0188】
図13Aおよび図13Bに示されているように、ユーザは楕円に収まるようにカメラ付きデバイスを動かすので、そのようなマップが各ユーザに固有であることが分かっている。したがって、デバイスの動きや頭の動きから生じる顔特徴に対応する画素移動の二次元ベクトルのマップは、撮影されている人の三次元性を検証することに加えて、それ自体をバイオメトリックデータとして使用できる。すなわち、様々な顔特徴の二次元ベクトルを期待値に比較して、ユーザの顔の三次元性を判断できるだけでなく、ユーザがユーザの顔に対してデバイスとカメラを移動させるときに作成される様々な顔特徴の二次元ベクトルそのものが、ユーザの固有の顔に基づいて各ユーザに固有のものとなる。したがって、認証システムに登録するユーザの三次元の顔特徴に基づいて固有のヒートマップがキャプチャされ、これを認証のためのバイオメトリック情報としてユーザに関連付けることができる。
【0189】
したがって、ユーザの顔の以前に認証され格納されたヒートマップを使用して、システムは、画素速度分析で新しい認証画像を分析して、人の生気または三次元性を判断できるだけでなく、人の個性を認証することもできる。これらのチェックは同時に行われてもよい。すなわち、システムは、認証画像から得られたヒートマップを比較して、それが人の固有の三次元の顔特徴に基づいて登録中に得られたヒートマップと一致するかどうかを判断する。画素速度分析によって生成された二次元ベクトルも検査し、それらが二次元のスプーフィングではなく三次元の人に対応していることを確認する。デバイスカメラによってキャプチャされた画像が生身のユーザを表していないと判断される場合、または認証情報と一致しない場合、認証は失敗し、アクセスは拒否されると考えられる。
【0190】
画素速度分析は、ラップトップ、ATM、自動車のダッシュボード、またはデスクトップなどの固定二次元カメラが備わった認証システムの使用を可能にできる。すなわち、画素速度分析によって提供される生気検出により、ATM機械のような固定デバイスには欠けているデバイスの加速度計、磁力計、およびジャイロスコープによって提供される運動情報を省くことができる。これは、ユーザが固定カメラに対して自分の頭を動かすことによって行われてよい。ユーザの動きは、通常の観察可能な人間の動きであってよく、または画面上の楕円の変化するサイズに顔を合わせることをユーザに命令するなど、意図的に要求されるユーザの動作であってもよく、この場合、ユーザはより大きい楕円を満たすために身を乗り出す。あるいは、命令は音声命令であってもよい。これにより、固定二次元カメラからユーザの三次元性を検証する能力が提供される。個人の個性は顔認識アルゴリズムを使用して検証でき、画素速度分析によって、同様の動きの状況から以前にキャプチャされたデータに比較して、追加の個性確認、生気および三次元性検出を提供できる。
【0191】
タッチスクリーン改良
さらなる追加セキュリティ変更は、ユーザの指に関する情報を含み得る。タッチスクリーンが備わった多くのモバイルデバイスは、画面上のユーザのタッチの位置とその凡そのサイズを検出できる。したがって、ユーザの指または親指の凡そのサイズをシステムで測定できる。指のサイズに加えて、指の向きの角度、または右手もしくは左手の指もしくは親指が使用されているかどうかを検出できる。
【0192】
一実施形態において、ユーザは、ユーザデバイスのタッチスクリーンにタッチすることによって、開くアカウントを選択し、登録撮影を開始し、または認証撮影を開始する。したがって、認証システムは、認証中のユーザによるタッチが、ユーザの指または親指のサイズ、画面にかけられた圧力の量、およびユーザが右利きか左利きかを含む以前に格納された登録情報に対応するかどうかを検出できる。これにより、認証システムのためのさらなるセキュリティ層が加えられる。
【0193】
さらに、認証システムは、ユーザが1つ以上の所定の方式で指紋リーダまたはタッチスクリーンにタッチすることによって認証を開始することを要求できる。一実施形態では、図15に示されているように、タッチスクリーン1410を所定の領域1420に分割できる。例えば、モバイルデバイスのタッチスクリーン1410上には、9つの等しい円形、正方形、または他の形状の領域1420があってよい。ユーザは登録中に、認証を開始するためにタッチする画面1410の領域1420のうちのいずれか1つを選択する。認証中に、認証を開始するため、または認証プロセス全体にわたって、予め選択された領域1420がタッチされない場合、認証は拒否される。これは1つの可能な設計可能性にすぎず、他の設計選択肢が考えられる。
【0194】
タッチスクリーン上の領域1420は、格子によって目に見えるように表されてもよく、またはタッチスクリーン1410上に全く表示されなくてもよい。図16に示されているように、領域1420に加えて、または領域1420の代わりに、タッチスクリーン1510上にボタン1520を表示することもできる。ここで、ユーザは、所定のパターンでボタン1520のうちのいずれか1つ以上を押すことによって認証を開始できる。ユーザは、所定のスワイプパターンで認証を開始することもできる。ユーザによってタッチされる位置は、認証試行のたびに変わってよく、コード、番号、文字、色、captchaまたは他のインジケータなど、認証サーバからの任意の命令を通じてユーザに伝達されてよい。
【0195】
音声パラメータ
ユーザが、システムを最初に使用するときに、登録過程で自分の画像を記録すると同時に語句を話すことによって自分の音声を記録し得ることも考えられる。次いで、ユーザは、認証するために、自分の顔の画像をキャプチャするためにモバイルデバイスを動かしているときにもその語句も話さなければならない。したがって、1つの追加の経路パラメータは、ユーザの話し声、および認証プロセスのもうひとつの層または要素としての音声認識の使用であってもよい。
【0196】
画質保証
認証システムは、モバイルデバイスから受信した画像を処理して、画像が十分な品質のものであるかどうかを判断することもできる。例えば、システムは、画像のピントが外れていることによって、またはカメラレンズが指紋や油などによってぼやけていることによって、生じる不鮮明さについて、画像をチェックできる。システムは、画質が不十分である(または明るすぎるもしくは暗すぎる)ことをユーザに警告し、ピント、露出、もしくは他のパラメータを調整することを、またはカメラのレンズを清掃することを、ユーザに指図できる。
【0197】
オートフォーカス
認証システムは、モバイルデバイスカメラにオートフォーカス機能が備わっている場合に、オートフォーカス機能を利用することもできる。例えば、実際の三次元の人が撮影されているときに、システムはチェックを行い、カメラがオートフォーカスを実行している間に画像の鮮明さが変化することを確認する。別の実施形態では、システムは、カメラが第1の位置または距離に焦点を合わせるようにオートフォーカスを制御して、顔を含む画像の一部分の鮮明さ(ピントが合っていること)をチェックすることができる。次いで、システムは、顔の存在が検出されない第2の位置または距離に焦点を合わせるようにカメラを制御して、画像の一部分の鮮明さ(ピントが合っていること)をチェックすることができる。現実の環境の中の三次元の人が撮影されている場合は、ピント設定は第1の位置と第2の位置とで異なるはずであり、これは現実の人が現在撮影されていることを示唆する。しかしながら、顔は大きくなるように見えるが、両方の位置の焦点が同じである場合、これは二次元のビデオ画面が撮影されていることを意味し、不正なログイン試行を意味する。
【0198】
システムはオートフォーカスを制御して、画像内の異なる特定の特徴の異なる焦点をチェックすることもできる。例えば、人の顔を正面から撮影する場合、人の耳は、人の鼻の先端とは異なる(より遠い)焦点を有すると予想される。
【0199】
ログイン試行の画像
認証サーバは、所定の長さの時間にわたる認証画像を格納するように構成することもできる。これらの画像は、人がユーザのアカウントにログインしようとしていることの証拠として追加のセキュリティ上の利点を提供できる。例えば、システムは、20回のログイン試行など、以前の所定数のログイン試行を格納でき、または過去7日間または過去7週間など、所定の期間のログイン試行からの画像を格納できる。不正行為または不正行為の試みの結果、ログインを試みている人の画像が格納され、またはアカウントサーバの認証サーバへ送信される。
【0200】
写真が撮影されて送信されるということが分かっているだけでも、自分の画像が撮影されて格納されることが分かっている不正直者にとっては大きな抑止力となり、ユーザにとってセキュリティの保証となる。同様に、試みられ失敗した試行は、写真を格納させ、誰がアカウントへのアクセスを試みているかのインジケータを有することができる。また、失敗ログインを試みている者の画像と共に電子メールまたはテキストメッセージを認可されたユーザへ送信できるので、認可されたユーザは、誰が自分のアカウントへのアクセスを試みているかを知るとことができると考えられる。これにより、認証サーバによって写真または画像も所有されているユーザとして、アカウントのためのセキュリティの第一線が確立される。
【0201】
適応一致閾値
さらに、ユーザを認証するための登録情報と認証情報との対応のレベルまたはパーセンテージは、時間の経過にともない変わり得る。換言すると、システムは適応閾値を備えることができる。
【0202】
ユーザは、上述した認証システムを定期的に使用した後に、自分の頭に対して所定の経路でモバイルデバイスを何度も移動させてシステムにログインすることになる。したがって、ユーザが認証システムを使用して経験を得るにつれて、ユーザが快適で標準的な移動経路に徐々に慣れることが予想され得る。対照的に、ユーザの最初の登録移動は、ユーザが認証システムをほとんど経験していないため、最もぎこちなく不器用な動きになる可能性が高い。
【0203】
セキュリティを失うことなく認証システムをユーザにとってより便利なものにするため、適応閾値システムは登録移動が適応することを可能にし、これにより、ユーザは登録移動としてぎこちなく不器用な最初の動きを強いられない。これを容易にするため、認可が成功するたびに、成功した認可移動が格納され、許容可能な移動経路のリストに移動経路が加えられる。許容可能な移動経路のリストは、所定の数の経路に制限できる。新しい認可が正常に完了し、許容可能な移動経路のリストが一杯になると、古い登録移動経路が削除され、最新のものがその場所に格納される。あるいは、リストに格納された他の移動経路と最も類似していない移動経路が削除されてもよい。したがって、最も類似する移動経路または最新の移動経路を格納することによって、ユーザがシステムに精通し、認証のための快適な移動経路に慣れるにつれ、登録移動は時間の経過にともない徐々に適応することができる。
【0204】
加えて、他の登録情報もユーザ情報と同様に適応的に変わることできる。例えば、成功した認証写真またはバイオメトリック情報を登録情報の一部として格納でき、古い登録情報は時間の経過にともない破棄できる。このようにして、認証システムは、加齢、顔の発毛、異なるスタイルの化粧、新しい眼鏡、または他の微妙な顔の変化をユーザが経験するにつれ、長期間にわたってもユーザにとって便利なものであり得る。
【0205】
時間の経過にともない移動経路、バイオメトリック情報、またはその両方にどの程度の相違が許容されるかの判断は、認証を要求するエンティティが自身のセキュリティ要件を満たす形に設定できる。適応閾値は、最初の登録後のスキャンの時間または回数を使用して変更できる。例えば、登録後の最初の数日間は閾値は低くてよく、セキュリティの脅威は低く、経路の差異は大きくなることが見込まれる。数回の認証後に、または数日後に、閾値は上がってよい。閾値はさらに、移動経路またはバイオメトリック情報のトレンドデータに基づいて設定されてもよい。例えば、閾値は、データが向かっている方向では寛大であってよいが、トレンドに逆らうデータの場合は許容範囲が厳しくなる。
【0206】
時間的側面も位置情報とともに加えることができる。例えば、ユーザが自宅の近くで取引を行い、認証し、1時間後に外国で別の取引が試みられた場合、取引は拒否され得る。または、前の認証位置と次の認証位置との間の距離が、ログインまたは認証試行間の時間で移動できないか、または移動した可能性が低い場合、それは拒否され得る。例えば、ユーザがデンバーで認証したが、1時間後にニューヨーク、ロシア、またはアフリカで試みが行われた場合、ユーザは1時間でこれらの場所を移動できない可能性が高いため、最初の試みか2回目の試みは不正である。
【0207】
さらに、次の取引がより合理的な時間と第1の取引からの距離で試みられる場合は、取引を自動的に拒否せず、対応閾値のレベルを上げてさらなるセキュリティを提供できる。同様に、高度計を使用することもでき、モバイルデバイスによって判断された高度が、ユーザがいると報告されている都市の高度と異なる場合、これは、不正の試みを示唆し得る。したがって、モバイルデバイスからの高度または気圧の読み取り値を使用して位置を検証でき、GPSデータ、IPアドレスまたはルータ位置データ、またはユーザ識別位置に対して相互参照できる。
【0208】
顔照合アルゴリズムのアップグレード
多くの場合、認証システムのセキュリティを保証するためには、アプリケーションの新しい顔認識(顔照合)アルゴリズムまたは他の機能を更新する必要があり得る。新しいアルゴリズムが導入されると、新しいアルゴリズムに対応する新しい登録情報を得る必要がある。しかしながら、既にシステムで認証済みのユーザに対して、アプリケーションが更新されるたびに再度登録を要求することは望ましくない。これは、例えば、ユーザが店舗で購入を行うために支払いシステムにログインしており、アプリケーションが、ユーザが予定通りに取引を速やかに完了できるようにするのではなく、パスワードを入力することを、および/または再登録することを、ユーザに催促する場合に、ユーザに不便をかけ、ユーザを苛立たせる。
【0209】
したがって、一実施形態では、システムは、バイオメトリクス「ハンドオフ」を実行して、アプリケーションまたはソフトウェアの更新に基づいて新しい顔認識アルゴリズムで登録情報を更新する。例えば、ソフトウェアまたはアプリケーションが新しい顔認識アルゴリズムで更新されると、アプリケーションは以前の顔認識アルゴリズムを保持する。次のログイン試行の間には、キャプチャされた画像が、古い顔認識アルゴリズムを使用したありとあらゆる生気チェックと共にユーザを認証するために使用される。その人が認証された場合は、新しいバイオメトリクスアルゴリズムで新しい登録情報を生成するために、新しい顔認識アルゴリズムによって画像が使用されることが認可される。新しい登録バイオメトリック情報は、以前のバイオメトリクスアルゴリズムを使用した成功したログイン試行に基づいているため、信頼できると考えられる。このプロセスは、新しい顔認識アルゴリズムで十分なバイオメトリックプロファイルが作成されるまで一定の回数行うことができる(古いアルゴリズムでログインして新しいアルゴリズムで登録情報を作成)。新しいプロファイルが作成されると、古い顔認識アルゴリズムに基づく以前のバイオメトリックプロファイルは削除される。このようにして、新しい顔認識アルゴリズムや他の機能でアプリケーションが更新されたときにユーザが再登録をする必要はない。
【0210】
ランダム画像歪み
顔認識認証システムにさらなるセキュリティ層を提供するため、システムはランダム画像歪みを利用できる。例えば、ユーザには、システムへの登録時にランダム歪みアルゴリズムを割り当てることができる。この歪みアルゴリズムは、人の顔を所定量広げたり狭めたり、ユーザの顔の所定の位置に所定の形状を加えたり重ね合わせたりするような歪みを画像に含めることができる。これの一例として、歪みは、ユーザの左目の100画素上に重ね合わされた円であってよい。
【0211】
ユーザからの画像上の一意的に割り当てられた歪みにより、そのユーザのバイオメトリックデータは、そのユーザによって使用されるアカウントまたはデバイスに固有のものとなる。すなわち、認証サーバまたはモバイルデバイスに格納された登録バイオメトリクスは、ユーザの顔特徴を反映するだけでなく、一意的に割り当てられた画像歪みも反映する。したがって、異なるデバイス上で、または異なるアカウントを通じて、正確で不正な人表現が使用されたとしても、固有の歪みが異なるかまたは不在であるため、差し出された認証バイオメトリクスは十分に対応しない。したがって、全体的なセキュリティを強化できる。
【0212】
セキュリティ層
上記の実施形態、変更、および強化の各々を必要に応じて任意の組み合わせで組み合わせて、認証のための複数のセキュリティ層を作ることができることに留意されたい。例えば、顔照合または顔認識は、運動検出または経路検出と組み合わされてもよく、または認証のためのこれらの機能から独立して動作してもよい。さらに、上述した強化または変更のうちの2つ以上が組み合わされる場合、認証システムは、どの層が認証に失敗したかに関するフィードバックまたは指摘を提供しないように構成されてもよい。
【0213】
例えば、認証を開始するための所定のタッチパターンが認証移動および顔認証と組み合わされる場合、システムは、タッチパターンが正しくなかったかどうかを、または認証移動もしくは認証画像が登録情報に対応しなかったかどうかを、指摘しない。代わりに、システムは、どのような不成功が発生しても同じ認証拒否を提供する。これは、上述したいくつものセキュリティ機能が組み合わされる場合である。このようにして、不正を働く者が不正なクレデンシャルのどの部分を訂正するべきかに気づくことは困難であり、システムのセキュリティはさらに強化される。
【0214】
上記の機能のすべてが併合されてもよく、または一部の機能のみが使用され、他の機能が省かれてもよい。例えば、デバイスを移動させ、自分の頭を第1の小さいフレーム(楕円など)の中に置き、次に第2の大きいフレーム(図7A図7B図13A、および図13Bなど)に置くことをデバイスがユーザに催促する場合、システムは、第1のフレーム(離れてキャプチャされたフレーム)内の画像に対して顔認識を実行する必要がないように構成されてよい。第1および第2のフレームの間の或る地点で、そして第2のフレームで、撮影全体にわたって顔認識を実行することによって、システムのセキュリティは維持される。これは特に、画面上の動く物体を追うアイトラッキングをチェックすること、またはユーザの目からのQRコードまたはランダムな形状の反射を読み取ることなど、別のセキュリティ層と統合される場合にも当てはまり得る。別の実施形態では、2つ以上のカメラを使用して三次元立体画像を作成する場合に、最初の遠く離れたフレームでは顔認識が実行されなくてよく、代わりに、デバイスの移動後にのみ、より近いフレームで人の生気が立証されてよい。さらに別の実施形態では、別のセキュリティ層が使用されてよく、運動パラメータは省かれてよい。そのような組み合わせは、ゲーム用ラップトップコンピュータ、パーソナルデスクトップコンピュータ、固定されたキオスクなど、より大きいデバイスや固定されたデバイスの場合に有益であり得る。
【0215】
例示的用途
同様に、本書では金融口座認証として説明されているが、経路パラメータと画像データを使用する認証は、自動アクセス、部屋アクセス、コンピュータアクセス、ウェブサイトまたはデータアクセス、電話機使用、コンピュータ使用、荷物受け取り、イベントアクセス、発券、裁判所アクセス、空港セキュリティ、小売販売取引、IoTアクセス、または他のあらゆるタイプの状況など、アクセスを認可する前にユーザの個性を検証する必要があるあらゆる環境で実施できる。
【0216】
例えば、小売販売取引を安全に行うために上記の認証システムが使用される実施形態をこれより説明する。本実施形態において、ユーザは、上述したように認証サーバまたはモバイルデバイス上の認証アプリケーションに登録され、登録画像および/またはバイオメトリクス、ならびに登録移動を含む登録情報を生成した。この例では、ユーザは、クレジットカード、スマートカード、またはNFC機能が備わったスマートフォンを使用して、小売店で取引を開始する、または取引を完了しようと試みる。
【0217】
ユーザは、商品もしくはサービスの代金を支払うために、クレジットカード、スマートカードを通すことによって、またはNFC機能が備わったスマートフォン上のアプリケーションを使用することによって、取引を開始する。次いで、小売店は、該当する金融機関ネットワーク(「ゲートウェイ」)でカードまたはアカウントを認可する。例えば、小売店は、VISAやAMERICAN EXPRESSによって運営されるゲートウェイなどを通じて、アカウントが使用可能で、十分な使用可能資金を有するかどうかを判断する。
【0218】
次いで、ゲートウェイは認可サーバと通信し、ユーザの個性を検証することによって取引を認可する。例えば、ゲートウェイは認証サーバに認可要求を送信でき、次いで、認証サーバは、ユーザのモバイルデバイスにプッシュ通知などの通知を送信して、ユーザが取引を認証することを要求する。
【0219】
モバイルデバイス上での振動、ビープ音、または他の音などによって認証サーバから通知を受信すると、ユーザはモバイルデバイスで自分の個性を認証できる。認証サーバはまた、取引に関する情報をユーザによる検証のためにユーザへ送信できる。例えば、認証サーバは、モバイルデバイスに、取引の販売業者、販売業者所在地、および購入合計を表示させる情報を送信できる。
【0220】
次に、前述したように、ユーザはモバイルデバイスを保持し、ユーザの頭に対して様々な位置にモバイルデバイスを移動させるにつれて複数の認証画像を得ることができる。認証画像を得るためにモバイルデバイスを移動させている間、携帯電話機はさらに、ジャイロスコープ、磁力計、および加速度計でモバイルデバイスの経路パラメータ(認証移動)を追跡して、デバイスの認証移動を得る。次いで、モバイルデバイスは、デバイス情報、認証画像、および認証移動を認証サーバへ送信できる。別の実施形態では、モバイルデバイスが画像を処理してバイオメトリックデータを得、バイオメトリックデータをサーバへ送信することができる。さらに別の実施形態では、モバイルデバイスが画像を処理し、認証情報を得、認証情報をモバイルデバイスに格納された登録情報に比較し、比較の合否結果を認証サーバへ送信することができる。
【0221】
次いで、認証サーバは、デバイス情報、認証画像および/またはバイオメトリクス、ならびに認証移動が、登録デバイス情報、登録画像および/またはバイオメトリクス、ならびに登録移動に対応する場合に、ユーザの個性を認証し、ユーザが自分のアカウントで取引を認可することを望んでいることを確認できる。次いで、認証サーバはゲートウェイへ認可メッセージを送信する。認可の確認を受信したゲートウェイは、小売店と通信して小売取引を許可する。
【0222】
上記のシステムおよび方法を利用して小売取引が認可される場合には、いくつかの利点を得ることができる。ユーザの個性検証と取引の確認は、認証システムとモバイルデバイスで完了されるため、ユーザが自分のクレジットカードまたは署名を提供する必要は、または小売業者の販売時点管理システムにピン番号を入力する必要は、もはやない。さらに、小売店がユーザの写真識別を確認する必要はない。上記の方法およびシステムはまた、敷地にセキュリティカメラなどのカメラを持たないモバイルおよびオンライン取引と協働できる安全な取引を提供するという利点を有する。
【0223】
上述した安全な小売取引では、ユーザは、ゲートウェイおよび認証サーバを介して小売店から自分のモバイルデバイス上で支払い総額を得る。しかしながら、一実施形態では、携帯電話機が、バーコードスキャナ、QRコードスキャナ、または同様のスキャナとしてカメラを使用して、商品と購入されようとしている商品の価格を識別できる。次いで、モバイルデバイスは支払い額を合計し、レジとして機能して小売店との取引を完了することができる。
【0224】
別の実施形態では、アプリケーションのユーザは、個人または販売業者に匿名で支払いたい場合がある。この場合、ユーザはアプリケーションに支払う金額を指定し、アプリケーションは一意の識別取引番号を作成する。次いで、この番号は第2のユーザに見せることができるので、第2のユーザは別のデバイス上のアプリケーションで識別取引番号を入力できる。一意の識別取引番号は、NFC、Bluetooth、QRコード、または他の適切な方法でユーザから第2のユーザへ送信することもできる。第2のユーザが金額を入力し、支払いを要求することもできる。
【0225】
支払い要求と一意の識別取引番号を受信すると、認証サーバは、取引を認証するために第1のユーザのモバイルデバイスに通知を送信できる。次いで、ユーザは、上述した顔認識認証システムを使用して自分の個性を検証する。ユーザは、代わりに、または加えて、指紋もしくは網膜スキャン、経路ベースの動きおよび撮影などの他のバイオメトリックデータを使用して自分の個性を検証でき、またはユーザはパスワードを入力できる。認証時に、ユーザのデバイスは、第2のユーザに対し支払いを要求し認可するためにユーザの支払いプロバイダへ要求を送信する。このようにして、取引のユーザを匿名にして安全に支払いを行うことができる。
【0226】
一実施形態によると、さらなるセキュリティ対策として、小売取引を認証し許可するために、モバイルデバイスから認証サーバへGPS情報を送信することもできる。例えば、モバイルデバイスからのGPS座標を小売店の座標と比較して、ユーザが実際に小売店にいることを確認できる。このようにして、クレジットカードを盗み、(小売店の場所と比較して)離れた場所からカードを使用しようとする犯罪者は、ユーザの電話機が小売店の場所にないため、取引を完了できない。IPアドレスを使用して位置を確認することもできる。
【0227】
上述したように、ユーザを認証するための登録情報と認証情報との対応のレベルまたはパーセンテージは、モバイルデバイスのGPSの座標に基づいて調整することもできる。例えば、小売店とモバイルデバイスのGPS座標がユーザの自宅の近くにある場合は、99%の一致率など、より低い閾値に対応レベルを設定できる。あるいは、位置がユーザの自宅から非常に遠く、例えば外国にある場合は、99.999%の一致率など、より高い閾値に対応レベルを設定できる。
【0228】
バイパスの試みで、不適切な、または予期せぬ、カメラ挙動および/またはカメラフィード特性を検出するために、またはカメラを掌握して、第2のビデオフィードを、または計算デバイスに関連付けられた、または計算デバイスに接続された、物理的なカメラからのものではないあらゆるタイプのビデオフィードを、プロセッサに注入するために、カメラ状態を検出および/または制御する方法およびシステムも開示される。別の言い方をすれば、開示される方法および装置は、カメラのビデオフィードが、合成的に作成されたビデオフレームでリアルタイムで偽装されている予め録画されたビデオではなく、物理的なカメラからのリアルタイムの収集データから来ていることを検証する。ビデオ注入は、システムを騙してカメラからのビデオフィードを使用または受信していると考えさせる行為であるが、実際には予め録画されたビデオフレームがシステムに送り込まれている。これは、カメラバイパスと呼ばれることもある。アプリケーションがカメラプロパティをチェックしている場合、ハッカーは、そのデバイス内の実際の物理的なカメラの特性をそっくりそのまま自身のソフトウェアに模倣させなければならない。本書で開示されているように、それは、キャプチャ解像度、型番、マイクロフォン名であり得、当然、始めるにはしかるべき時間がかかるはずである。
【0229】
図2を参照すると、コンピュータデバイスはカメラを含む。カメラ276が備わった計算デバイスは、タブレットもしくはスマートフォンなどのモバイルデバイス、ウェブカメラが備わったデスクトップもしくはラップトップコンピュータ、またはカメラとオプションのネットワーク通信機能とが備わった他のあらゆるタイプの計算デバイスであってよい。本書で説明されているようなユーザ認証または検証プロセス、または他のあらゆるタイプまたは方式のプロセス(以下、認証)の一部として、プロセッサは、認証セッションを行うためにソフトウェアコード(機械実行可能命令)を実行する。認証セッションの一部として、ソフトウェアコードはカメラを起動し、起動後にシステムがビデオフレームまたはビデオフィードのフレーム(以下、ビデオフィード)を返すのにかかる時間を計る。
【0230】
物理的なカメラは、仮想カメラソフトウェアなどのビデオ注入の不正の試みよりビデオフィードが画像のストリーミングを開始するのに時間がかかる。市販の仮想カメラソフトウェアは通常、ビデオフレームの送出を即座に開始し、それは、カメラが物理的に起動されていないことを露呈させる。物理的なカメラにしては速すぎるのである。
【0231】
認証セッションを不正に騙すまたは欺くいくつかの試みは、カメラからプロセッサまたは他の処理要素へのビデオフィードを傍受し、そうすることで、認証に使用されている計算デバイスのカメラによって実際にキャプチャされたものとは異なるデータを注入することを含む。プロセッサは、CPU(中央処理装置)もしくはGPU(グラフィック処理装置)、またはカメラと連係する他のあらゆる要素を含み得る。偽のカメラフィードがアプリケーションによって選択され、ビデオ注入ソフトウェアは注入された仮想画像/ビデオフィードを処理ソフトウェアに提供し、実際にカメラの前にあるものではなく、または実際にデバイスとともに存在するものではなく、あたかも現実の人か人らしき物がカメラによって撮影されているかのように見せかける。したがって、計算デバイス内の実際の物理的なカメラがカメラの前にいる実際の人のビデオ/画像フィードをキャプチャする代わりに、注入された(予め録画された)ビデオストリームが認証セッションのためにプロセッサに提供される。これは、実際の物理的なカメラの出力の代わりに仮想カメラフィードを注入すると呼ばれることがある。これは、実現し得るセキュリティリスクを提供する。
【0232】
従来技術のシステムにおけるこの欠点を克服し、認証セッションおよびシステムにおけるこの潜在的な弱点に対抗するために、この不正な認証試行に対抗するセキュリティを提供する方法および装置が開示される。通常は、システムが計算デバイスと関連付けられたカメラからの実際のビデオフィード以外のものを検出したときに認証を検出して阻止するために、計算デバイスのカメラ動作が監視され分析される。
【0233】
以下の方法は、画像をキャプチャする計算デバイス上で、またはサーバなどの遠隔地で、実行できる。プロセスは、以下に開示されるステップを実行するためにプロセッサによる機械可読コードの実行によって行うことができる。この機械可読コードは、非一時的状態でメモリに格納でき、プロセッサによってメモリから読み取ることができる。計算デバイスのプロセッサまたは他の要素は、起動制御信号をカメラへ送信し、カメラから出力されるビデオを監視し検出することができる。カメラ出力は、カメラからの1つ以上の画像またはビデオフィード(データストリーム)であってよい。画像とビデオストリームという用語は、多くの場合同じものであり、いくつかの連続する画像がビデオストリームを形成する。
【0234】
図17は、仮想カメラか他の出所からの注入カメラフィードを検出する例示的な方法を示す。これは可能な一作業方法にすぎず、本開示を読んだ後には別の作業方法を導き出すことができる。
【0235】
ステップ1708では、セッションが開始され、カメラのビデオフィード(ビデオまたは画像を意味すると理解される)を得るために、セッション1708開始の一部として、カメラビデオフィード要求信号がオペレーティングシステムまたはブラウザへ送信される。本実施形態では、認証アプリケーションからブラウザまたはオペレーティングシステムへカメラフィード要求信号が送信されるが、別の実施形態では、これはカメラ起動信号またはカメラオン/オフ信号であってもよい。
【0236】
通常の状況下では、カメラはデバイスのプロセッサへビデオフィードを送信していないため、認証アプリケーションにとってビデオフィードが直ちに入手可能となる場合、それは、実際のカメラストリームの代わりに仮想ビデオフィードが注入されていること、またはカメラが既にオンになっていることの兆しとなる。計算デバイスからカメラビデオフィードを得ることは既知の動作であるため、詳しく説明しない。加えて、カメラシステムでは、カメラフィードの要求と、プロセッサまたは要求側アプリケーションによる実際のビデオフィード受信との間に短い時間遅延がある。一実施形態では、カメラのタイプを分析して、特定のカメラ機種について予想遅延を判断することができる。とにかく、すべてのカメラは、ビデオフィードの要求とカメラが物理的にビデオフィードを出力する間にある程度の遅延を有する。この遅延は、CCD上に電荷が蓄積し、CCDからデータを読み取り、キャプチャされたデータをビデオストリーム出力に組み立てるのにかかる時間に起因し得る。ステップ1712では、システムがステップ1708での要求の後にビデオストリームの受信を監視する。要求側ソフトウェアアプリケーションにおけるビデオフィードの受信の監視は、ビデオストリームがビデオフィーの要求時に即座にまたは同時に提供されているかどうかを、またはビデオストリームが認証(ソフトウェア)アプリケーションにとってアクセス可能になる前に予想遅延があるかどうかを、判断するために行われる。
【0237】
カメラフィード要求時にビデオフィードを検出することにより、仮想カメラの使用(注入ビデオフィード)を検出できる。注入ビデオフィードは通常、物理的なカメラの出力の遅延から予想されるものとは異なる時間に入手可能となる。仮想カメラソフトウェアの使用は、認証セッション中のスプーフィングや不正の試みの兆候または兆しである。ビデオフィード要求信号を受信すると、計算デバイスのカメラは、ビデオまたは画像フレーム(以下、フィード)を出力する前に短い遅延を有する。カメラビデオフィード要求とカメラからのカメラフィードの実際の受信との間の遅延は、200~500ミリ秒の時間枠内であり得るが、カメラによって異なり、この範囲外になる場合もある。遅延の量は、カメラによって異なり得、使用されるカメラ技術のタイプに基づくこともあり得るが、物理的なカメラがまだ電源投入されていないときには、カメラフィードにアクセスする要求とビデオストリームまたは画像の出力との間に常にある程度の遅延がある。カメラフィード要求、起動、またはオン/オフプロセスを監視、検出、または制御することによって、認証セッションを騙すために仮想カメラフィードを注入しようとする試みを検出できる。
【0238】
判断ステップ1716において、カメラビデオフィードが、カメラビデオフィード要求時またはカメラ起動時に即座にまたは同時に入手可能となる場合、またはカメラフィードが、カメラまたは特定のカメラで予想される予想時間間隔外で受信される場合、作業は1720に進む。上述したように、計算デバイスカメラは、ビデオフィードが要求されると、ビデオフィードまたは画像を出力する前に短い休止または期間を有する。したがって、ステップ1716において、カメラフィードが即座に入手可能であると、または予想される予想時間間隔外の期間に入手可能であると、判断された場合、これは、プロセッサまたは要求側ソフトウェアアプリケーションに仮想ビデオフィードを注入する試みの兆候である。ステップ1720では、スプーフィングの試みの検出に応じてセッションが終了される。
【0239】
あるいは、ステップ1716でカメラビデオフィードが即座に入手可能ではない場合、または(デジタルカメラ動作の性質のため)カメラビデオフィードが予想時間間隔にわたって遅延され、許容時間枠(ウィンドウ)内に受信される場合は、ビデオフィード要求から物理的なカメラがビデオフィードを提供するまでの間に予想量の遅延が発生したと判断または仮定され、カメラフィードは仮想カメラフィードからのものであるという兆候を示さないので、認証セッションを続行できる。ステップ1724では、ビデオフィードの受信までの予想時間間隔が発生したため、アプリケーションソフトウェアは認証セッションを進める。
【0240】
すべての実施形態において、カメラの時間遅延を経時的に監視して、典型的または平均的なベースライン遅延値を作成でき、このベースラインの量をビデオフィード要求とビデオフィードの受信との間の時間に比較できると考えられる。他の実施形態では、様々なタイプのカメラで時間遅延が知られている。ベースラインを確立することは、実際のカメラとそれが設置されているシステムのために遅延量を提供する。
【0241】
図18Aには代替の作業方法が開示されている。本実施形態では、カメラフィードの1つ以上のカメラフィード要求/終了サイクル後にカメラ動作を監視する例示的な方法が開示される。以下の開示に基づいて本方法の他のバリエーションが可能であると考えられる。本実施形態において、ステップ1808、1812、1816、1820は、図17に示され説明されているものと概ね同様であるため、再び説明しない。
【0242】
ステップ1824に進み、認証アプリケーションによるカメラビデオフィード要求とビデオフィードの受信との間に予想遅延(時間間隔)が発生した後、アプリケーションは、X期間にわたってビデオフィードの受信を停止する要求を生成する。
【0243】
次に、ステップ1828において、要求側アプリケーションまたは他のソフトウェアモジュールは、X期間にわたってビデオフィードの受信を終了するために、ブラウザまたはオペレーティングシステムへ制御信号(要求)を送信する。その結果、アプリケーションはビデオフィードを受信しなくなり、またはアクセスを終了し、その結果、認証ソフトウェアアプリケーションはカメラビデオフィードへのアクセスまたはカメラビデオフィードの受信を失う。この期間は、図18AでX期間と呼ばれている任意の期間にわたって維持できる。この期間Xは、ランダムに生成された期間であってよく、または認証ソフトウェアアプリケーションによって予め決定されてもよい。このオフ期間の持続時間は、認証アプリケーションによって知られ、後述するように将来の比較で使用される。
【0244】
任意選択のステップ1830では判断ステップが行われ、ビデオ注入などのビデオフィードが検出されたかどうかを判断し、検出された場合には、ステップ1831でセッションを終了できる。
【0245】
ステップ1832では、認証アプリケーションによってカメラビデオフィードが要求され、この要求がブラウザ、デバイスオペレーティングシステム、またはカメラへ送信され、要求の送信から認証アプリケーションによる実際のビデオフィード受信までの時間が追跡される。これと同時に、認証アプリケーションはビデオフィードの受信を監視している。このカメラフィードアクセス遅延は、認証アプリケーションによる以前のカメラフィード要求とほぼ同じ時間遅延になるはずである。これが、所定の時間を超えて早い場合、またはカメラによって異なり得る予想時間間隔とは異なる場合、以前のアクセス要求とは異なる場合、または予想とは異なる場合、それは、仮想カメラソフトウェアがビデオフィードの出所であり得ることの兆しである。
【0246】
例えば、カメラがオフである期間にいくらかのターンオン遅延を加えて計算され、ビデオフィードが認証アプリケーションに提供されない(または認証アプリケーションによって要求されない)実際の時間に比較される。これら2つの期間は一致するはずである。ステップ1836でそうではない場合は、ビデオ注入が行われている可能性があり、それは不正の兆候であり、作業はステップ1840に進み、そこでセッションを終了させ、ユーザ、他のソフトウェアアプリケーション、認証を要求するエンティティ、または認証アプリケーションへ、可能性としての不正の通知を送信することができる。
【0247】
ステップ1836において、カメラフィードが予想されるウィンドウ内で入手可能である場合は、カメラフィードアクセス要求信号に応じて、作業はステップ1844に進む。ステップ1844では、ビデオ信号が要求されるときと、判断ステップ1836での判断に基づく認証アプリケーションで実際のビデオフィードが受信されるときとの間の本質的なカメラ遅延のため、カメラフィードが入手可能になる前に予想期間遅延が発生した。
【0248】
この作業方法では、ステップ1846でこのプロセスが、N回など、複数回繰り返され、Nは任意の整数であり、ビデオフィード要求と実際のビデオフィード受信との間の実際の時間間隔または遅延である。この実際の時間間隔または遅延は、予想時間間隔または遅延に比較される。Nの値は認証セッションのたびに変わってよく、不正が成功する見込みをさらに低減するために、プロセスを1回以上実行または繰り返すことができる。カメラフィードアクセス要求をN回繰り返すことによって、注入ビデオストリームで認証セッションを騙そうとする者がカメラフィード要求のオン/オフサイクルを模倣することはより困難になる。Nがセッションのたびに変わる乱数(または他の値)である場合、回数を正確に予測する。加えて、ランダムな持続時間などで、カメラが各サイクル中にオフになる(および/または各サイクル中にオンになる)期間を変えると、ビデオ注入の試みがさらに困難なものになる。ビデオ注入を実行しようとする試みをさらに阻止するため、ランダムな持続時間または所定の持続時間などで、カメラがオンになる時間の長さをサイクルのたびに変えることもできるとさらに考えられる。
【0249】
ステップ1848では、サイクルがN回などの予想される回数行われたかどうかの判断が行われる。カメラフィードアクセス要求/終了(またはオン/オフ)サイクル中のカメラフィード遅延が予想遅延と必要な回数で発生しなかった場合は、作業がステップ1852に進み、可能性としての不正またはスプーフィングの試みが発生しているためセッションは終了され、通知が提供され得る。カメラビデオフィード要求を特定の回数繰り返すと、注入ビデオストリームで認証セッションを騙す試みがより困難になり、カメラビデオフィードのぴったり同じ数のカメラビデオフィード要求サイクルを模倣しなければならなくなる。あるいは、ステップ1848において、カメラビデオフィード要求サイクルプロセスが予想される数のビデオフィード要求サイクルになった場合は、作業はステップ1856に進み、セッションは継続する。セッションは、限定はしないが、ユーザの顔の三次元性検出、顔認識、年齢推定、生気判断、位置推定、またはビデオフィードによって偽装される可能性があるカメラビデオフィードを利用する他のあらゆるタイプの操作など、あらゆるタイプの認証またはユーザ立証プロセスであってよい。
【0250】
カメラビデオフィード要求を繰り返す回数を指定する値Nは、いくつかの異なるやり方で決定または選択され得ると考えられる。例えば、値Nは、すべての認証セッションで同じであってよい。加えて、値Nは、異なるN値のリストを循環することによって決定されてもよい。値Nは、乱数生成器または乱数を生成する他の方法によって生成され得るとも考えられる。Nの値は、多数のカメラビデオフィード要求サイクルで認証処理を過度に遅らせないように制限できる。認証セッションごとにNの値を変えることにより、仮想カメラまたは他の何らかのタイプのカメラフィード注入を使用してセッションのスプーフィングを成功されるために仮想カメラソフトウェアが模倣しなければならない遅延を不正を働く者が予想することは著しく困難になる。そうするためには、不正を働く者は、カメラの起動とビデオフィードの受信との間の適切なカメラ遅延を仮想ビデオフィードに組み込む必要があるばかりでなく、適切な時間に要求されていないカメラフィード要求、予想される時間間隔が経過するまではビデオフィードを再び要求しない必要がある。同様に、カメラのオン時間も各サイクル中に変更される場合は、要求されたビデオフィードが受信されるべき予想タイミングを維持するために、これも知り、正確に模倣しなければならない。加えて、認証セッションのスプーフィングを試みる者は、カメラフィード要求が繰り返される回数(N回)も知る必要があり、または推測する必要があり、この回数はセッションごとにランダムに変わり得る。
【0251】
図19は、カメラフィード要求オン/オフサイクルの一部としてカメラフィードオフ要求持続時間を制御することを含む例示的な作業方法を示す。図18Aおよび図18Bと共通の要素を共有する図19の態様、したがって重複する態様については、再度説明しない。図19を参照すると、ステップ1904、1908、1912、1916、および1920は、図18Aの初期ステップと同じか同様であり、再度説明しない。ステップ1924では、値Xが確立され、アプリケーションソフトウェアは、カメラビデオ(または画像)フィードの受信を維持するためにオペレーティングシステムに信号を送信することなどによって、カメラフィードの受信を終了する。値Xは、任意の数であってよく、認証アプリケーションによってビデオフィードが要求またはオンにされ続ける時間を制御するために使用される。値Xは、認証セッションごとに変わってよく、および/または認証セッション内の各ビデオフィードアクセス要求サイクル間で変わってもよい。一実施形態において、Xの値は、メモリまたはルックアップテーブルに格納された値に基づいて固定される。一実施形態において、Xの値は、1組の格納された値に基づいて変わる。一実施形態において、Xの値は、乱数生成器または乱数(または準乱数)生成のための他の手段によって生成された乱数によって決定される。値Xを生成するための他の可能な手段は、限定はしないが、時刻、ユーザの認証セッション、日付、ユーザの個人情報、ランダムデータ、または他の何らかの値のうちのいずれか1つ以上、またはそれらの組み合わせなどの様々な可変データを利用するアルゴリズムに基づくことを含む。値Xのランダムで頻繁に変わる性質のため、人がXの値を予測することは困難であろう。ステップ1928では、アプリケーションは、ビデオフィードが受信されている間に、X期間にわたって待つ。ビデオフレームは、この期間中に認証アプリケーションに提供されるはずである。
【0252】
次に、判断ステップ1936では、カメラフィード要求が監視されて、これがX時間にわたって受信されたことが検証され、X時間は、カメラがオンになっていてアプリケーションソフトウェアにビデオフィードを提供するはずである予想持続時間である。
【0253】
ビデオフィードが検出されない場合は、作業がステップ1940に進み、セッションは停止でき、通知を送信できる。あるいは、認証セッションはステップ1950に進み、続行できる。
【0254】
図20は、検出作業を一定の回数またはランダムな回数繰り返すビデオ注入検出の代替実施形態を示す。これは、ビデオ注入検出の可能な一実施形態にすぎない。本書で開示されているいずれかの実施形態からの特徴は、新しい実施形態の一部として、または既存の実施形態のバリエーションとして、他の1つ以上の特徴のいずれかと組み合わされ得ると考えられる。本実施形態では、ビデオ注入が成功する尤度を低減するため、図17のカメラ遅延検出が所定の回数またはランダムな回数繰り返される。ステップ2000では、システムが認証セッションを開始する。ステップ2004では、認証アプリケーションが、ビデオフィードを得るために、オペレーティングシステムまたはブラウザへカメラビデオフィード要求(または代替実施形態ではカメラ起動信号)を送信する。この要求が送信される時間は記録され、またはタイマが開始される。ステップ2008において、認証アプリケーションは、ビデオストリームが受信されるまでビデオストリームを監視する。ビデオストリームまたはカメラ起動の要求とビデオストリームの実際の受信との間の時間が記録される。
【0255】
判断ステップ2012では、ビデオフィードが予想時間間隔外に入手可能であったかどうかの判断が行われる。予想時間間隔は、ビデオフィードがカメラのタイプと他のデバイス/ソフトウェアパラメータを与えると予想される予想時間間隔である。本書で説明されているように、ビデオフィードの要求と(したがって、カメラの起動)とビデオフィードの実際の受信との間には本質的な遅延がある。ビデオフィードを受信するのにかかる実際の時間は、カメラがビデオフィードを出力するのにかかる予想時間に比較でき、このタイミング比較に基づいて、認証アプリケーションで受信されたビデオフィードが実際にカメラからのものであるか、またはビデオ注入からのものであるかを判断できる。物理的なカメラがビデオフィードを出力する予想時間またはウィンドウの前または後にビデオ注入が受信された場合、それは、受信されたビデオフィードがビデオ注入からのものであるという兆しである。
【0256】
判断ステップ2012において、ビデオフィードが早すぎるまたは遅すぎるなど、予想ウィンドウ外で受信された場合、作業はステップ2016に進み、セッションは終了する。あるいは、判断ステップ2012において、ビデオフィードが予想時間間隔内に受信されたと判断された場合、作業はステップ2020に進む。ステップ2020では、予想遅延が発生したため、予想遅延が発生したことと作業が繰り返されたことが記録される。次に、ステップ2024において、作業はステップ2008~2020をY回まで繰り返し、Yは任意の整数であり、Yは乱数または所定数であってよい。Yが認証セッションのたびに変わる乱数である場合、ビデオ注入を使用して試行される不正行為の試行は、プロセスが何回繰り返されるかを知らないので、不正行為の試行中にビデオ要求および監視サイクルを何回実行するかを知ることは困難である。
【0257】
判断ステップ2028では、プロセスがY回繰り返されたかどうかの判断が行われる。そうでない場合、作業はステップ2032に進む。ステップ2032では、アプリケーションソフトウェアがビデオストリームの受信を終了し、作業はステップ2004に戻り、作業はY回行われるまで繰り返される。ステップ2028において、プロセスがY回繰り返された場合、作業はステップ2036に進み、認証セッションが進む。
【0258】
各方法の様々な要素および特徴を任意のやり方で組み合わせて別の組み合わせに到達し、複雑な仮想カメラフィード注入であっても、騙すのがより困難なより安全な認証システムを形成できると考えられる。
【0259】
要求されるカメラ解像度が、上述した方法またはステップのいずれかのカメラフィード要求サイクルのうちのいずれか1つ以上の間に、または上述した方法のいずれかとは無関係に、変更され得ることも開示される。不正をさらに防止するため、様々なカメラ解像度について、カメラフィードアクセス要求信号とカメラフィードの実際の出力との間の遅延を監視し記録することができる。
【0260】
上述したように、システムは各サイクル中に、システムがビデオフィード要求とビデオフィード終了を繰り返すときに、フィードが要求されない時間の長さを、またはフィードが受信される時間の長さを、(例えばランダムに)調整または変更できる。これは、各サイクルでビデオ注入の試みがシステムを騙すために一致しなければならない時間を変える。例えば、ビデオフィードが要求されない(ランダムに変わる)期間がサイクルにあり、これはカメラの起動時間に加えられる。これらの2つの時間が加算されて予想時間間隔が作られる。
【0261】
加えて、サイクルが繰り返される回数は認証セッションごとに調整できる。例えば、各々の認証セッションが5サイクルを実行してよく、またはサイクル数がセッションごとにランダムに調整されてもよい。要求後のビデオフィードの実際の受信時間が予想時間間隔外である場合は、追加のサイクルを加えることができるとも考えられる。例えば、可能な一実施形態において、ソフトウェアは、2~5のランダムな数のサイクル(図17図20を参照)を実行するように設定され、それらのサイクルのいずれかが、予想時間間隔外(早すぎるまたは遅すぎる)であるビデオフィード受信の実際の時間間隔をもたらす場合は、ビデオ注入をさらに検出するために、2~5サイクルの別のランダムな数のサイクルを追加するなどして、一定数またはランダムな数の追加のサイクルでサイクル数を増やすことができる。これらの値はすべて例示的なものであり、実際の実装では異なり得る。
【0262】
認証アプリケーションソフトウェアが、ビデオフィードの独占的使用または受信を要求するように構成されてよいことがさらに開示される。したがって、別のアプリケーションがカメラフィードを受信していることをアプリケーションが検出した場合、アプリケーションソフトウェアは、他のアプリケーションがビデオフィードの使用を中止し、カメラがオフになることを要求できる。他のアプリケーションを閉じるようにユーザに通知を提供できる。他のカメラ使用を停止することにより、カメラはオフにされることが見込まれ、したがって、認証アプリケーションがカメラビデオフィードを要求したときには、最初にカメラをオンにして起動しなければならず、これにより、本書で説明されている遅延が成立する。別のアプリケーションによる使用などからカメラが既にオンになっていた場合は、ビデオフィードが認証アプリケーションにあまりにも速やかに提供され、そのため、ビデオ注入と勘違いされる可能性がある。別の言い方をすれば、ビデオフィードの要求とビデオフィードの実際の受信との間に予想遅延がない。
【0263】
認証アプリケーションがカメラ起動遅延を経時的に監視して、実際の監視からベースライン遅延時間を作成し得ることも考えられる。次に、このベースライン起動遅延を認証セッション中の比較に使用して、稀に発生するビデオ注入の試みを捕らえることができる。ベースラインは、トレーニングセッション中に、アプリケーションのインストール時に、または経時的な平均に基づいて、設定されてよい。あるいは、様々なカメラタイプの起動遅延を、将来の使用のためにメモリに格納することもできる。
【0264】
この提案されている手法にはいくつかの利点がある。これは、カメラフィードの解像度を変えるカメラに動的に提供される制御信号要求に応じて解像度を変えない仮想カメラによるスプーフィングの試み検出するもうひとつの手段になり得る。例えば、一作業方法では、ソフトウェアは、使用可能なカメラ解像度の出力を要求するために制御信号を生成でき、その後、カメラ出力を監視して、要求されたカメラフィード解像度がやがて到来することを検証することができる。スプーフィングの試みが行われている場合は、注入される仮想カメラフィードもその出力解像度をまったく同じときにまったく同じ解像度に変更できない限り、カメラフィード出力解像度は予想される解像度と一致しない。
【0265】
加えて、解像度変更の1つ以上の態様を変更することによって、解像度が調整されるプロセスをコピーすることをさらに困難なものにできる。例えば、解像度変更のタイミングは、またはどの解像度に変更するかは、ランダム化でき、または所定の順序変更のリストから選択されるいくつかの予測不能な要因に、もしくはこれらの要因のいくつかの組み合わせに、基づかせることができる。例えば、システムは、使用する特定の解像度をランダムに選択し、次いでそれぞれの解像度変更を1回以上繰り返し、スプーフィングの試みを不可能にすることができる。同様に、各解像度変更間のタイミングは、制御および監視でき、ランダム化でき、またはいくつかの他の要因に基づかせることができる。本書で開示されているいずれかの方法をこれらの提案されている方法と組み合わせて、認証セッションをさらに保護できると考えられる。
【0266】
存在するビデオ出力フィードの特定のビデオ解像度について、認証アプリケーションからのカメラフィード要求から計算デバイスがカメラフィードで最初のビデオフレームを送り出すまでの間の正確で予想される遅延量を監視できることも開示される。カメラフィード要求信号がデバイス(またはソフトウェア)によって受信されるときとカメラがビデオフィードを出力するときとの間の遅延が、カメラの出力解像度に基づいて変わることが実験後に確認されている。より高い解像度では、フィード要求信号(またはオン/オフもしくは起動信号)から実際のカメラ出力フィードが受信されるまでの間の遅延は、より低い解像度での遅延より大きい。この情報を使用して、認証アプリケーションによるカメラフィードアクセス要求と実際のカメラフィード出力タイミングとの間の遅延を監視および確認し、そのデバイスタイプの特定の解像度について、経験された遅延を予想遅延に比較することが提案される。遅延期間が特定のカメラフィード解像度で予想されるものと一致しなかった場合、これは不正またはスプーフィングの試みの兆候である。カメラオン/オフの各サイクルで解像度を変更してこのプロセスを数回繰り返して、スプーフィングの試みをさらに抑止することができる。
【0267】
上述したように、解像度をランダムに変更し、次いでランダムに選択された解像度で予想遅延を監視するなど、多数の追加機能をこの作業方法に加えることができる。これにより、システムを騙すことがより困難になる。加えて、いくつかの実施形態では、高解像度カメラ出力に関連する遅延が低解像度カメラ出力に関連する遅延より大きいことを検証するために、基本的なチェックを行うことができる。各々のカメラ解像度について起動信号後のカメラ出力の実際の遅延量を検査し記録し得ることも考えられる。次いで、この記録された遅延データを各セッション中の実際の遅延データに比較して、実際の遅延の量が以前の検査に従って予想遅延範囲と一致することを、または予想遅延範囲内にあることを、検証できる。
【0268】
本書で説明されている様々な実施形態では、認証アプリケーションによるカメラフィードアクセス要求に同意する一連のユーザーインタラクションなしにカメラフィードに繰り返しアクセスすることを可能にするさらなる機能が有効化され、不正を働く者はカメラフィード要求が受け入れられるたび警告され、各カメラフィードアクセス要求を受け入れる前に仮想カメラを準備できるので、これは、ランダム化されたタイミングおよびランダム化された数のカメラフィードアクセス要求サイクルの使用を制限する。様々なバリエーションとともにカメラフィードを複数の回数またはサイクルで要求する上述した方法の一部として、ユーザによるアクセスを手動で許可するために画面ボタンをクリックするなどの追加のユーザーインタラクションなしに継続的なアクセスを可能にするために、認証アプリケーションのカメラフィードアクセス要求を永続的に設定することが提案される。この設定は、オペレーティングシステム設定、ウェブブラウザソフトウェア、または認証アプリケーションプロセスに対するカメラアクセス許諾を維持するために必要な他の何らかのソフトウェアにあってよい。一実施形態では、継続的なカメラフィードアクセスが認証アプリケーションに許諾されることを保証するために、機械実行可能コードが確立されプロセッサによって実行され、これにより、カメラフィードアクセスサイクルを繰り返すためのカメラに対する制御を認証ソフトウェアに許諾する。
【0269】
本発明の様々な実施形態を説明したが、本発明の範囲内にあるより多くの実施形態および実装が可能であることは当業者に明らかであろう。加えて、本書で説明されている様々な特徴、要素、および実施形態は、任意の組み合わせまたは構成で請求され得、または組み合わされ得る。
図1
図2
図3
図4
図5
図6A
図6B
図7A
図7B
図8
図9
図10
図11A
図11B
図11C
図12
図13A
図13B
図14
図15
図16
図17
図18A
図18B
図19
図20
【国際調査報告】