(57)【要約】【課題】２要素認証システムの防衛手段を向上する。【解決手段】コンピュータユーザは、認証アプライアンスにより認証される保護されたリソースにアクセスする。ユーザは、関連づけられたモバイル装置を判定する際に検証及び使用のために認証アプライアンスに資格情報を提供する。認証アプライアンスは、コンピュータ上に表示される画像、パターン、キーなどの参照共有秘密情報を動的に生成する。認証アプライアンスは、関連づけられたモバイル装置上のアプリケーションに対して認証要求を送信する。アプリケーションは、ユーザが、以前に閲覧された共有秘密情報を選択、入力、描画、再現することができるインタフェースを提供する。ユーザ提供の秘密情報は、参照共有秘密情報と比較される。ユーザ提供の秘密情報が参照共有秘密情報と一致する場合、認証アプライアンスは、保護されたリソースに対するアクセスをユーザ又はコンピュータに提供できる。【選択図】図２
2019515366.tif 000002
【特許請求の範囲】
【請求項１】
マルチファクタ認証を実行するためのコンピューティングアプライアンスであって、
１つ以上のプロセッサと、
コンピュータ読み取り可能なメモリと、
前記コンピュータ読み取り可能なメモリ内に格納された実行命令を備える認証プログラムと
を備え、
前記実行命令は、少なくとも、
ユーザ識別情報に関連づけられた１セットのユーザ資格情報をクライアントコンピュータから取得することと、
１セットの参照ユーザ資格情報を含むデータベースにアクセスすることと、
前記ユーザ資格情報のセットを前記参照ユーザ資格情報のセットと比較することによって前記ユーザ識別情報を検証することと、
前記ユーザ識別情報に関連づけられたモバイル装置を決定することと、
共有秘密情報を生成することと、
前記クライアントコンピュータに対して、前記クライアントコンピュータ上に表示される前記共有秘密情報を伝送することと、
前記モバイル装置に対して、ユーザが提供する秘密情報を取得するために前記モバイル装置上のアプリケーションによってアクセスされるように構成された認証要求を伝送することと、
前記モバイル装置から認証応答を取得することと、
前記認証応答を取得する際に、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証することと、
前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証する際に、保護されたリソースに対するアクセスを前記クライアントコンピュータに提供することと
を前記１つ以上のプロセッサに指示する、コンピューティングアプライアンス。
【請求項２】
前記共有秘密情報は、パターンを備える、請求項１に記載のコンピューティングアプライアンス。
【請求項３】
前記共有秘密情報は、画像を備える、請求項１に記載のコンピューティングアプライアンス。
【請求項４】
前記認証要求は、プッシュ通知を備える、請求項１に記載のコンピューティングアプライアンス。
【請求項５】
前記認証応答は、前記ユーザが提供する秘密情報を備え、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証するために、前記実行命令は、前記認証応答からの前記ユーザが提供する秘密情報と前記共有秘密情報とを比較するように前記１つ以上のプロセッサにさらに指示する、請求項１に記載のコンピューティングアプライアンス。
【請求項６】
前記認証応答は、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することの指標を備え、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証するために、前記実行命令は、前記認証応答内の前記指標を評価するように前記１つ以上のプロセッサにさらに指示する、請求項１に記載のコンピューティングアプライアンス。
【請求項７】
前記モバイル装置は、スマートフォン又は携帯電話を備える、請求項１に記載のコンピューティングアプライアンス。
【請求項８】
前記認証要求は、前記共有秘密情報に関連づけられた情報を備える、請求項１に記載のコンピューティングアプライアンス。
【請求項９】
マルチファクタ認証を実行するためのコンピュータ化された方法であって、前記方法は、
１つ以上のハードウェアプロセッサによってコンピューティング命令を実行することを備え、
前記コンピューティング命令は、
ユーザ識別情報に関連づけられた１セットのユーザ資格情報をクライアントコンピュータから受信するステップと、
１セットの参照ユーザ資格情報を含むデータベースにアクセスするステップと、
前記ユーザ資格情報のセットを前記参照ユーザ資格情報のセットと比較することによって前記ユーザ識別情報を検証するステップと、
前記ユーザ識別情報に関連づけられたモバイル装置を決定するステップと、
共有秘密情報を生成するステップと、
前記クライアントコンピュータに対して、前記クライアントコンピュータ上に表示される共有秘密情報を伝送するステップと、
前記モバイル装置に対して、ユーザが提供する秘密情報を取得するために前記モバイル装置上のアプリケーションによってアクセスされるように構成された認証要求を伝送するステップと、
前記モバイル装置から認証応答を取得するステップと、
前記認証応答を取得する際に、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証するステップと、
前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証する際に、保護されたリソースに対するアクセスを前記クライアントコンピュータに提供するステップと、
を備える、コンピュータ化された方法。
【請求項１０】
前記共有秘密情報は、パターンを備える、請求項９に記載のコンピュータ化された方法。
【請求項１１】
前記共有秘密情報は、画像を備える、請求項９に記載のコンピュータ化された方法。
【請求項１２】
前記認証応答は、前記ユーザが提供する秘密情報を備えており、前記方法は、前記認証応答から前記ユーザが提供する秘密情報と共有秘密情報とを比較するステップを更に備える、請求項９に記載のコンピュータ化された方法。
【請求項１３】
前記認証応答は、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することの指標を備え、前記方法は、前記認証応答内の前記指標を評価するステップを更に備える、請求項９に記載のコンピュータ化された方法。
【請求項１４】
前記モバイル装置は、スマートフォン又は携帯電話を備える、請求項９に記載のコンピュータ化された方法。
【請求項１５】
前記認証要求は、前記共有秘密情報に関連づけられた情報を備える、請求項９に記載のコンピュータ化された方法。
【請求項１６】
プロセスを実行するようにモバイル装置に指示する実行可能コードを備えるモバイルクライアントアプリケーションを格納する非一時的なコンピュータ記憶媒体であって、
前記プロセスは、認証アプライアンスから伝送された認証要求にアクセスすることを備え、
前記認証アプライアンスは、
ユーザ識別情報に関連づけられた１セットのユーザ資格情報をクライアントコンピュータから取得することと、
１セットの参照ユーザ資格情報を含むデータベースにアクセスすることと、
前記ユーザ資格情報のセットを前記参照ユーザ資格情報のセットと比較することによって前記ユーザ識別情報を検証することと、
前記ユーザ識別情報に関連づけられたモバイル装置を決定することと、
共有秘密情報を生成することと、
前記クライアントコンピュータに対して、前記クライアントコンピュータ上に表示される前記共有秘密情報を伝送することと、
前記モバイル装置に対して、ユーザが提供する秘密情報を取得するために前記アプリケーションによってアクセスされるように構成された認証要求を伝送することと、
前記モバイル装置から認証応答を取得することと、
前記認証応答を取得する際に、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証することと、
前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証する際に、保護されたリソースに対するアクセスを前記クライアントコンピュータに提供することと、
ユーザ識別情報に関連づけられた、前記モバイル装置のユーザが、前記ユーザが提供する秘密情報を提供することを可能にするように構成された対話式認証インタフェースを生成することと、
前記対話式認証インタフェースを通じて、前記ユーザから前記ユーザが提供する秘密情報取得することと、
前記ユーザが提供する前記秘密情報を取得するに際して、前記認証アプライアンスに対して前記認証応答を送信することと
を行うように構成される、非一時的なコンピュータ記憶媒体。
【請求項１７】
前記対話式認証インタフェースは、パターンロックを備え、前記ユーザが提供する秘密情報は、パターンロックパターンを備える、請求項１６に記載の非一時的なコンピュータ記憶媒体。
【請求項１８】
前記対話式認証インタフェースは、複数の画像を備え、前記ユーザが提供する秘密情報は、前記複数の画像から選択された画像を備える、請求項１６に記載の非一時的なコンピュータ記憶媒体。
【請求項１９】
前記認証応答は、前記ユーザが提供する秘密情報を備える、請求項１６に記載の非一時的なコンピュータ記憶媒体。
【請求項２０】
前記モバイルクライアントアプリケーションは、前記認証アプライアンスに対して前記認証応答を送信する前に、前記ユーザが提供する秘密情報が前記共有秘密情報と一致するという指標を備える前記認証応答により、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証するように前記モバイル装置に指示する実行可能コードを備える、請求項１６に記載の非一時的なコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対する相互参照
この出願は、「安全なモバイル装置の２要素認証（SECURE MOBILE DEVICE TWO-FACTOR AUTHENTICATION）」と題して２０１６年３月４日に出願された米国仮特許出願第６２／３０３，９３７号の利益を主張し、その開示は、全体が参照によって本明細書に援用される。
【背景技術】
【０００２】
ユーザは、ネットワークを通じて、安全に保護されたリソース、アプリケーション、又はウェブサイトにアクセスするために、デスクトップコンピュータ、スマートフォン、タブレット、及びノートブックなどの電子装置を用いようとすることがある。例えば、ユーザは、安全なウェブサイトによって提供されたコンテンツ又はサービスを受信するため、インターネットを通じて安全なウェブサイトにアクセスするようにデスクトップコンピュータ上のブラウザに指示することができる。この例において、デスクトップコンピュータは、クライアントコンピュータと呼ばれることがあり、安全なウェブサイトは、サーバと呼ばれる１つ以上のコンピューティングデバイス上でホスティングされることがある。
【０００３】
サーバは、クライアントコンピュータ又はクライアントコンピュータを用いるユーザを必ずしも信用しない。多くの場合、クライアントコンピュータとサーバとの間で実質的な通信が始まる前に、サーバは、クライアントコンピュータを認証し（authenticate）認可する（authorize）必要がある。例えば、サーバ上に保持される銀行の預金口座情報にアクセスするために、ユーザは、銀行のサーバと通信するためにユーザのクライアントコンピュータを用いることがある。この例において、銀行口座に対するアクセスは、機密に属するものであり、銀行口座の所有者のみに限定されるべきである。従って、サーバは、クライアントコンピュータ及び／又はユーザにそれら自身を認証又は識別することを要求することがある。この認証プロセスは、所望のコンテンツに対するアクセスを制御する任務を課されたコンピューティング装置、サービス、又はアプリケーションであってもよい認証アプライアンスによって実行されることがある。この認証アプライアンスは、時として、第三者認証サービスによって提供されることがある。
【０００４】
１つの一般的な認証技術は、ユーザにのみ知られ（例えばユーザ名又はパスワード）又は有効であり（例えば物理デバイス又はセキュリティトークン）且つ予めそのユーザに関連づけられた認証ファクタを供給するようにユーザに要求することである。最も一般的には、認証プロセスは、クライアントコンピュータを介してユーザ名及び／又はパスワードを供給するようにユーザに要求することを含むことになる。しかしながら、無認可で悪意のあるユーザは、ユーザ名及びパスワードが容易に発見できる場所に書き留められて格納されるような場合は、保護されたリソースに対するアクセスを手に入れたり、又は認証プロセスを回避したりすることができる。
【０００５】
したがって、特別のセキュリティのために、多くの認証プロセスは、パスワード及びユーザ名だけでなく、認証されたユーザに対してのみ有効で且つ他人が取得するのが困難である追加的な認証ファクタを含むマルチファクタ認証を実行する。携帯電話の２要素認証（２ＦＡ：two-factor authentication）は、「ユーザが所有するもの」として役割を果たす、携帯電話やスマートフォンなどのモバイル装置を用いて、モバイル装置が認証されたユーザが所有している信頼できる装置であるということを想定するタイプのマルチファクタ認証である。携帯電話の２要素認証の現在のインプリメンテーションは、追加的で且つ専用のセキュリティトークンの必要性を排除することによって、ユーザに対して向上した有用性及び利便性を提供することができるが、ユーザは、依然として、フィッシング攻撃や不正な認証要求に侵されやすいままである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本明細書に記載されるシステム、方法、及び装置の実施形態は、従来技術の課題を克服し、とりわけ、フィッシング攻撃や不正な認証要求に対する携帯電話の２要素認証システムの防衛手段を向上する。
【課題を解決するための手段】
【０００７】
いくつかの実施形態において、１つ以上のプロセッサと、コンピュータ読み取り可能なメモリと、前記コンピュータ読み取り可能なメモリ内に格納された実行命令を備える認証プログラムとを備える、マルチファクタ認証を実行するためのコンピューティングアプライアンスを開示する。前記実行命令は、少なくとも、ユーザ識別情報（user identity）に関連づけられた１セットのユーザ資格情報（user credentials）をクライアントコンピュータから取得することと、１セットの参照ユーザ資格情報（reference user credentials）を含むデータベースにアクセスすることと、前記ユーザ資格情報のセットを前記参照ユーザ資格情報のセットと比較することによって前記ユーザ識別情報を検証することと、前記ユーザ識別情報に関連づけられたモバイル装置を決定することと、共有秘密情報（shared secret）を生成することと、前記クライアントコンピュータに対して、前記クライアントコンピュータ上に表示される前記共有秘密情報を伝送することと、前記モバイル装置に対して、ユーザが提供する秘密情報を取得するために前記モバイル装置上のアプリケーションによってアクセスされるように構成された認証要求を伝送することと、前記モバイル装置から認証応答を取得することと、前記認証応答を取得する際に、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証することと、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証する際に、保護されたリソースに対するアクセスを前記クライアントコンピュータに提供することとを前記１つ以上のプロセッサに指示する。
【０００８】
いくつかの構成において、前記共有秘密情報は、パターンを備える。いくつかの構成において、前記共有秘密情報は、画像を備える。いくつかの構成において、前記認証要求は、プッシュ通知を備える。いくつかの構成において、前記認証応答は、前記ユーザが提供する秘密情報を備えており、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証するために、前記実行命令は、前記認証応答から前記ユーザが提供する秘密情報を前記共有秘密情報と比較するように前記１つ以上のプロセッサに更に指示する。いくつかの構成において、前記認証応答は、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することの指標（indication）を備え、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証するために、前記実行命令は、前記認証応答内の前記指標を評価するように前記１つ以上のプロセッサに更に指示する。いくつかの構成において、前記モバイル装置は、スマートフォン又は携帯電話を備える。いくつかの構成において、前記認証要求は、前記共有秘密情報に関連づけられた情報を備える。
【０００９】
いくつかの実施形態において、１つ以上のハードウェアプロセッサによってコンピューティング命令を実行することを備える、マルチファクタ認証を実行するためのコンピュータ化された方法を開示し、前記コンピューティング命令は、ユーザ識別情報に関連づけられた１セットのユーザ資格情報をクライアントコンピュータから受信することと、１セットの参照ユーザ資格情報を含むデータベースにアクセスすることと、前記ユーザ資格情報のセットを前記参照ユーザ資格情報のセットと比較することによって前記ユーザ識別情報を検証することと、前記ユーザ識別情報に関連づけられたモバイル装置を決定することと、共有秘密情報を生成することと、前記クライアントコンピュータに対して、前記クライアントコンピュータ上に表示される共有秘密情報を伝送することと、前記モバイル装置に対して、ユーザが提供する秘密情報を取得するために前記モバイル装置上のアプリケーションによってアクセスされるように構成された認証要求を伝送することと、前記モバイル装置から認証応答を取得することと、前記認証応答を取得する際に、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証することと、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証する際に、保護されたリソースに対するアクセスを前記クライアントコンピュータに提供することとを備える。
【００１０】
いくつかの構成において、前記共有秘密情報は、パターンを備える。いくつかの構成において、前記共有秘密情報は、画像を備える。いくつかの構成において、前記認証応答は、前記ユーザが提供する秘密情報を備えており、前記方法は、前記認証応答から前記ユーザが提供する秘密情報と共有秘密情報とを比較することを更に備える。いくつかの構成において、前記認証応答は、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することの指標を備え、前記方法は、前記認証応答内の前記指標を評価することを更に備える。いくつかの構成において、前記モバイル装置は、スマートフォン又は携帯電話を備える。いくつかの構成において、前記認証要求は、前記共有秘密情報に関連づけられた情報を備える。
【００１１】
いくつかの実施形態において、認証コンピューティングアプライアンスから伝送された認証要求にアクセスすることを備えるプロセスを実行するようにモバイル装置に指示する実行可能コードを備えるモバイルクライアントアプリケーションを格納する非一時的なコンピュータ記憶媒体を開示する。前記認証コンピューティングアプライアンスは、ユーザ識別情報に関連づけられた１セットのユーザ資格情報をクライアントコンピュータから取得することと、１セットの参照ユーザ資格情報を含むデータベースにアクセスすることと、前記ユーザ資格情報のセットを前記参照ユーザ資格情報のセットと比較することによって前記ユーザ識別情報を検証することと、前記ユーザ識別情報に関連づけられたモバイル装置を決定することと、共有秘密情報を生成することと、前記クライアントコンピュータに対して、前記クライアントコンピュータ上に表示される共有秘密情報を伝送することと、前記モバイル装置に対して、ユーザが提供する秘密情報を取得するために前記アプリケーションによってアクセスされるように構成された認証要求を伝送することと、前記モバイル装置から認証応答を取得することと、前記認証応答を取得する際に、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証することと、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証する際に、保護されたリソースに対するアクセスを前記クライアントコンピュータに提供することを行うように構成される。前記モバイル装置が実行するように指示される前記プロセスは、ユーザ識別情報に関連づけられた、前記モバイル装置のユーザが、前記ユーザが提供する秘密情報を提供することを可能にするように構成された対話式認証インタフェースを生成することと、前記対話式認証インタフェースを通じて、前記ユーザから前記ユーザが提供する秘密情報取得することと、前記ユーザが提供する前記秘密情報を取得するに際して、前記認証コンピューティングアプライアンスに対して前記認証応答を送信することとを更に備える。
【００１２】
いくつかの構成において、前記対話式認証インタフェースは、パターンロックを備え、前記ユーザが提供する秘密情報は、パターンロックパターンを備える。いくつかの構成において、前記対話式認証インタフェースは、複数の画像を備え、前記ユーザが提供する秘密情報は、前記複数の画像から選択された画像を備える。いくつかの構成において、前記認証応答は、前記ユーザが提供する秘密情報を備える。いくつかの構成において、前記モバイルクライアントアプリケーションは、前記認証コンピューティングアプライアンスに対して前記認証応答を送信する前に、前記ユーザが提供する秘密情報が前記共有秘密情報と一致するという指標を備える前記認証応答により、前記ユーザが提供する秘密情報が前記共有秘密情報と一致することを検証するように前記モバイル装置に指示する実行可能コードを備える。
【００１３】
システムはハードウェアプロセッサを伴う予め構築されたアプライアンス又はサーバを備えてもよいが、システムは、また、いくつかの実施形態において、（仮想画像をサポートする任意の標準コンピューティングシステム上でアプライアンスをエミュレートするために用いることができるＶＭＷａｒｅ画像などの）仮想アプライアンスを備えてもよい、ということに留意されたい。アプライアンス及び／又はクライアント装置の他の構成、特徴、機能、及びオプションのさらなる情報及び背景については、各々がすべての目的のために参照によってその全体が本明細書に援用される、米国特許第８，３２７，１４２号、第８，３０１，８７７号、第８，７０７，０３１号、第８，６１３，０６７号、第８，５１０，８１６号及び第８，７６９，６５１号や２０１４年２月１８日に出願された米国仮特許出願第６１／９４１２８６号を参照されたい。
【００１４】
以下の図及び関連する記述は、本開示の実施形態を例示するために提供されるのであって、特許請求の範囲を限定するものではない。この開示の態様及び付随する効果の多くは、以下の添付の図面と併せて、下記の詳細な説明を参照することによって、より良く理解されるのと同じ様に、より容易に認識されることになる。
【図面の簡単な説明】
【００１５】
【図１】様々な接続装置及びネットワークを含む、モバイル装置認証システムの１つの実施形態を実装することができる環境例を例示するシステム図である。
【図２】本開示の１つの実施形態による、ユーザ識別情報のための保護されたリソースに対するアクセスを、認証アプライアンスがどのように制御することができるのかを例示するフローチャートである。
【図３】認証プロセスの間のモバイル装置認証システムの１つの実施形態のコンポーネント間のいくつかの対話（interactions）を例示するアクティビティ図である。
【図４】登録プロセスの間のモバイル装置認証システムの１つの実施形態のコンポーネント間のいくつかの対話を例示するアクティビティ図である。
【図５】本開示の１つの実施形態による、コンピューティング装置上のパターンを閲覧するためのユーザインタフェース例である。
【図６】本開示の１つの実施形態による、モバイル装置上に描画されるパターンを要求するためのユーザインタフェース例である。
【図７】パターンが描画された後の図６におけるユーザインタフェース例を例示する。
【図８】本開示のいくつかの実施形態による、モバイル装置に対して送信されたパターンベースの認証要求の様々なコンテンツ例を例示するブロック図である。
【図９】本開示のいくつかの実施形態による、モバイル装置から送信されたパターンベースの認証応答の様々なコンテンツ例を例示するブロック図である。
【図１０】本開示の１つの実施形態による、コンピューティング装置上の画像を閲覧するためのユーザインタフェース例である。
【図１１】本開示の１つの実施形態による、モバイル装置上で選択される画像を要求するためのユーザインタフェース例である。
【図１２】本開示のいくつかの実施形態による、モバイル装置に対して送信された画像ベースの認証要求の様々なコンテンツ例を例示するブロック図である。
【図１３】本開示のいくつかの実施形態による、モバイル装置から送信された画像ベースの認証応答の様々なコンテンツ例を例示するブロック図である。
【図１４】モバイル装置認証システムの実施形態を実装することができるコンピュータシステムを例示するブロック図である。
【発明を実施するための形態】
【００１６】
ある特定の好ましい実施形態及び実施例を以下に開示するが、発明の主題は、特に開示した実施形態を越えて、他の代替の実施形態及び／又は用途や、改良及びその等価物に及ぶ。従って、本明細書に添付された特許請求の範囲の範囲は、以下に記載される特定の実施形態のいずれかによっても限定されない。例えば、本明細書に開示される何らかの方法又はプロセスにおいて、方法又はプロセスの挙動又は動作は、任意の適切なシーケンスにおいて実行されてもよく、特定の開示されるシーケンスのいずれにも限定される必要はない。各種動作は、ある特定の実施形態の理解に役立つような方式で、複数の個別の動作として順々に記述することができるが、但し、記述の順序を、これらの動作が順序に依存することを暗示するようには解釈するべきでない。更に、本明細書に記載される構造、システム、及び／又は装置は、統合されたコンポーネント又は個別のコンポーネントとして具体化されてもよい。様々な実施形態を比較する目的で、これらの実施形態のある特定の態様や効果が記述される。このような態様又は効果のすべてが、何らかの特定の実施形態によって実現されるとは限らない。従って、例えば、本明細書に教示又は示唆され得るような他の態様又は効果を必ずしも実現せずに、本明細書に教示されるような１つの効果又は効果群を実現又は最適化する方式で、様々な実施形態を実行することができる。
【００１７】
導入
本開示は、保護されたリソースに対するアクセスをコンピューティング装置に提供するための携帯電話及びタブレットの２要素認証方式のシステム及び方法を対象とする。具体的には、本開示は、画像又はパターンなどの共有秘密情報がコンピューティング装置を介して示される、認証方式に関する。認証方式を完了するために、ユーザは、自分のモバイル装置上のアプリケーション内で共有秘密情報を入力、選択、又は照合する必要がある。これらのシステム及び方法は、不正な認証要求に呼応して、自分のモバイル装置上に追加的な認証ファクタを提供するユーザの負担を軽減する。本開示は、また、モバイル装置上のネイティブモバイルアプリケーションが、単一のユーザ識別情報のための認証及び認可を実行するためにウェブ技術又は非ウェブ技術を活用することを可能にする。
【００１８】
開示される実施形態の理解を容易にするために、既存の認証プロセスの概要を最初に提供することになる。
【００１９】
コンピュータ端末、モバイル装置、又はデジタルコンテンツを受信することができる他の同様の電子装置などのコンピュータのユーザは、安全なウェブサイトなどの保護されたリソースに対してアクセスしようとすることがある。いくつかのシナリオにおいて、コンピュータは、ＰＣ又はＭａｃであってもよい。
【００２０】
保護されたリソースに対するアクセスが許諾されるためには、ユーザは、先ず、認証が必要な場合がある。例えば、保護されたリソースが会社のＶＰＮであった場合、クライアントコンピュータ上で認証するようにユーザに要求する何らかの形態認証ソフトウェアによってＶＰＮを保護することができる。いくつかの構成において、認証を、第三者サービスによって実行する場合がある。他の認証機構、認証情報、及びワークフローの例は、米国特許出願第１１／７０２，３７１号、第１２／０７５，２１９号、第１２／３２６，００２号、第１２／３９２，７６０号、第１２／４１９，９５１号、第１２／９４８，０３７号、第１３／０３５，２８９号、及び第１３／８３０，５０６号による米国特許出願公開公報内に描写され、それらの開示は、参照によって本明細書に援用される。
【００２１】
そして、ユーザは、自分のユーザＩＤ及びパスワードなどの自分のユーザ識別情報に関連づけられた資格情報を入力することによって、自分のコンピュータを用いてログオンすることを試みることができる。ユーザがこの情報を入力した後、認証ソフトウェアは、ユーザの識別情報を検証し、ログオントランザクションを継続することを可能にするためにユーザがさらなる動作を講ずる必要があるということをユーザに通知することができる。
【００２２】
この時点で、認証ソフトウェアは、認証シーケンスのモバイル装置部分を開始することもできる。認証ソフトウェアは、携帯電話、スマートフォン、タブレットなどとすることができるユーザのモバイル装置に対して、プッシュ通知を送信することができる。このモバイル装置は、登録プロセスの間にユーザの識別情報に関連づけられてもよい。そして、モバイル装置上のアプリケーションを開くことができるユーザは、この受信したプッシュ通知を開くことができる。いくつかの構成において、アプリケーションは、ウェブベースの認証用のＵＲＬに対してリダイレクトされるウェブブラウザであってもよい。そして、アプリケーションは、認証シーケンスを完了するために何らかの種類の動作を実行するようにユーザに指示することができる。これは、モバイル装置はユーザが所有している、という単純な確認を提供することから、より複雑な動作を提供することまでになる可能性があるだろう。ユーザが日常的に実行するには便利な程度に充分に簡単である一方で、フィッシング攻撃及び不正な認証要求に対して安全なように充分に複雑であるように、認証シーケンスのこのモバイル装置部分に対する微妙なバランスをとることが望ましい場合がある。
【００２３】
例えば、１つのフィッシングのシナリオは、ユーザ識別情報用のユーザ名及びパスワードを取得する悪意のあるユーザを含む場合がある。悪意のあるユーザは、認証プロセスを開始するために盗んで得た資格情報を用いて保護されたリソースにアクセスすることを試みるかもしれない。そして、認証ソフトウェアは、ユーザ識別情報に関連づけられたユーザにユーザのモバイル装置上で追加的な動作を実行することを要求することによって、認証シーケンスのモバイル装置部分を開始することができる。悪意のあるユーザは、実際のユーザが本格的な精査せずに且つ実際のユーザが認証プロセスを開始していなかったことに気付くことなく、実際のユーザのモバイル装置上で実際のユーザがこの動作を行うことを望んでいる場合がある。このようにして、モバイル装置が認証されたユーザを厳重に所有し続けたとしても、悪意のあるユーザにとって、保護されたリソースに対してアクセスすることが可能である。
【００２４】
認証要求は不正であることを個人ユーザが気付いたとしても、当人にとっては数当てゲームである悪意のあるユーザを止めるには充分ではないかもしれない。悪意のあるユーザは、複数のユーザ識別情報のための資格情報を盗んでいるかもしれず、保護されたリソースを危険にさらすために、認証シーケンスを完了するためにそれらのユーザのうちの１人のみを必要とする。個々の挙動とは対照的に、グループの挙動を予測するほうが容易である場合があるので、個人ユーザに対するよりむしろユーザのグループに関する認証シーケンスのモバイル装置部分の有効性を評価することが望ましい場合がある。従って、認証方式を、概してユーザにとって更に便利になるように設計するのに加えて、概してユーザのためのフィッシングに対してより安全になるように設計することができる。
【００２５】
例として、認証シーケンスのモバイル装置部分のためのいくつかの構成は、「許可（Accept）」又は「拒否（Deny）」の２つのオプションをユーザに提示するモバイル装置上のアプリケーションを含んでもよい。認証を完了するために、ユーザは、保護されたリソースに対するコンピュータアクセスを許諾するために「許可」を押してもよい。しかしながら、この結果として、保護されたリソースに対するアクセスを所望する度に、ユーザは「許可」を押さなければならない。「許可」を何度も押した挙げ句、ユーザは、自分の電話上に「許可」が表示されると、習慣から、「許可」を押すように条件づけられてしまう場合がある。多くのユーザは、自分自身で認証シーケンスを開始しなかったとしても（例えば、多くのユーザがコンピュータ上の保護されたリソースにログオンしようとしていなくても）、「受け入」又は「拒否」のオプションの入力を要求された場合に、慣例的に「許可」を押すことがある。これは、安全なリソースにアクセスするために盗んだ、フィッシング攻撃を通じて取得することができるユーザ識別情報を今までどおり利用することができるので、追加的な認証ファクタを有するという目的を無効にする。悪意のあるユーザによって開始された認証シーケンスに対して慣例的に「許可」を押すユーザは、自分のユーザ識別情報が盗まれたことにさえ気付くことなく、悪意のあるユーザのアクセスを許諾することになる。
【００２６】
いくつかの構成において、認証シーケンスのモバイル装置部分は、ユーザが認証シーケンスの外で知り得る何らかの種類の情報を提供することをユーザに要求するモバイル装置上のアプリケーションを含んでもよい。例えば、モバイル装置内に既知のパスコードを入力することをユーザに要求してもよい。しかしながら、この結果として、保護されたリソースに対するアクセスを所望する度に、ユーザは同じパスコードを入力しなければならない。ユーザが自分のパスコードを選択すれば、ユーザは、また、生活の他の日常的な局面（例えば、銀行の暗証番号、アカウントのパスワード、生年月日）にユーザが用いるパスコードを選択することができる。時間の経過や繰り返しに伴って、このプロセスは、ユーザに「許可」ボタンを押すことを要求するのと同じく、フィッシング脆弱性に対して習慣的且つ影響されやすくなるかもしれない。ユーザは、自分が認証シーケンスを開始しなかった場合にでさえ、自分のモバイル装置内に自分のパスコードを入力することに最終的にはなるかもしれない。
【００２７】
他のいくつかの構成において、認証シーケンスのモバイル装置部分は、モバイル装置に対して、帯域外の通信チャネルを通じて情報を送信することを含むことができる。例えば、ワンタイム有効コードを、電話回線網を通じて、ＳＭＳ又は音声メールによってモバイル装置に対して送信してもよい。ユーザは、自分のモバイル装置上のアプリケーション内のこのワンタイム有効コードを入力する必要があるかもしれないし、又は、ユーザは、保護されたリソースに対してアクセスをしようとしているコンピュータのユーザインタフェース内にワンタイム有効コードを入力する必要があるかもしれない。しかしながら、ＳＭＳなどのチャネルを通じて、モバイル装置に対して送信される情報は、安全でなく、傍受可能であるかもしれない。この認証方式は、認証プロセスを完了するためにオートパイロット上で動作するユーザの機会を減らすことがあるが、ユーザを更に脆弱にしたり、又は不必要に不便なユーザにしたりする可能性がある。
【００２８】
代替的に、いくつかの構成において、ユーザの検証が成功すると、認証ソフトウェアは、共有秘密情報を動的に生成してもよい。ユーザのコンピュータ上のユーザインタフェース及びユーザのコンピュータにのみ、共有秘密情報を視覚的に提示してもよい。共有秘密情報は、ユーザのコンピュータを介して認証ソフトウェア及びユーザに対してのみ知られている、任意の種類のデータであってもよい。いくつかの構成において、共有秘密情報は、パターンであってもよいし、ユーザが自分のモバイル装置上にパターンを再現するように要求されてもよい。他の構成において、共有秘密情報は、画像であってもよいし、ユーザが自分のモバイル装置上に示された複数の画像の中からその特定の画像を選択するように要求されてもよい。更に他の構成において、共有秘密情報は、ユーザが自分のモバイル装置を選択又は入力するように要求され得る鍵であってもよい。更に他の構成において、共有秘密情報は、チャレンジ応答シーケンスのためのチャレンジ又は応答のいずれかであってもよく、ユーザは、自分のモバイル装置上の共有秘密情報に無料の応答又はチャレンジを提供するように要求されてもよい。
【００２９】
そして、認証ソフトウェアは、携帯電話、スマートフォン、タブレットなどとすることができるユーザのモバイル装置に対して、プッシュ通知を送信することができる。そして、モバイル装置上のアプリケーションを（例えば自動的に）開くことができるユーザは、この受信したプッシュ通知を開くことができる。いくつかの構成において、アプリケーションは、ウェブベースの認証用のＵＲＬに対してリダイレクトされるウェブブラウザであってもよい。そして、ユーザは、自分のモバイル装置上のアプリケーション内に共有秘密情報を再現、選択、又は入力することを提供してもよい。ユーザが入力した共有秘密情報が正しい場合、認証ソフトウェアは、ユーザのコンピュータ上の保護されたリソースに対するユーザのアクセスを許諾することができる。
【００３０】
ユーザがこのようにして自分のモバイル装置上で再現、入力、又は選択するために、ユーザのコンピュータ上で厳重に動的に生成された共有秘密情報を提示することは、多くの効果をもたらすことができる。ユーザに自分のコンピュータを通じてのみ共有秘密情報が提示されれば、自分自身で開始していなかった認証シーケンスをユーザが完了することができる可能性が低くなる。もし悪意のあるユーザが保護されたリソースにアクセスするためにユーザの盗まれた識別情報を用いることを試みれば、悪意のあるユーザのみに自分のコンピュータ上の共有秘密情報が提示されることになる。ユーザが認証シーケンスを開始しなかったため、認証されたユーザは、共有秘密情報に気付くことがないだろう。従って、ユーザが、正しい共有秘密情報を偶然推測することができるという極めてまれな機会を除いて、認証されたユーザは、保護されたリソースに対する悪意のあるユーザのアクセスを許諾するために自分のモバイル装置内に共有秘密情報を入力することができないであろう。
【００３１】
正しい推測が生じる可能性は、共有秘密情報の形式に依存する場合があり、認証シーケンス毎に異なるように動的に共有秘密情報を生成することによって更に低減される。更に、「許可」を押すような習慣的な確認を要求することよりもむしろ、変化する共有秘密情報の利用は、ユーザがオートパイロットで操作することを防止することができ、自分の動作より認識するように促進することができる。事前に適切な共有秘密情報を認識するように（例えば、選択又は描画（draw）するものを認識するように）ユーザに要求することは、自分によって開始されない認証要求をユーザに更に認識させる。ユーザが不正な要求又は不招請のプッシュ通知を受信する場合に、ユーザが先ず第１に共有秘密情報をランダムに推測する可能性は極めて低い。従って、完了した認証シーケンスは、ユーザの識別情報が正しく検証され、セキュリティ脅威によって妥協されない結果である可能性がより高い。
【００３２】
図面の説明
本開示において記述される実施形態の態様は、例示する目的のために、モバイル装置、モバイルアプリケーション、認証サーバ、及びネットワークサービス間の関係及び対話に焦点を当てるが、当業者は、本明細書に開示した技術を、任意の数のハードウェア又はソフトウェアプロセス又はアプリケーションに適用してもよいということを認識するであろう。例えば、本開示は主としてスマートフォンの状況に焦点を当てるが、開示されるプロセスは、タブレット及び電子書籍リーダなどの他のタイプのモバイル装置と共に用いられることができる。更に、本開示の様々な態様は、例示的な実施例及び実施形態に関して記述されるが、当業者は、開示される実施形態及び実施例が限定として解釈されるべきでないということを認識するであろう。実施形態は、いくつかの新規の特徴を含むことができ、そのうちの単一のものが、その望ましい属性に単独で関与するわけでなく、又は本明細書に記述される本開示の実施形態を実施するのに絶対必要なものではない。
【００３３】
Ｉ．実装環境例（図１）
図１は、様々な接続装置及びネットワークを含む、モバイル装置認証システムの１つの実施形態を実装することができる環境例を例示するシステム図である。
【００３４】
ネットワーク１２０は、コンピュータ１０２と、モバイル装置１１２と、保護されたリソース１３０と、企業向けコンピュータ環境１４４とをリンクするために用いることができる。ネットワーク１２０は、互いに通信するためにシステムの装置及びコンポーネントによって用いられる任意の有線信号又は無線信号の集合を含んでもよい。例えば、ネットワーク１２０は、モバイル装置によって頻繁に用いられる、３Ｇ、４Ｇなどのような移動体通信技術に基づくものなどの電気通信ネットワークを含んでもよい。ネットワーク１２０は、また、インターネット、又は、ローカルエリアネットワーク（ＬＡＮ：Local Area Network）、ワイドエリアネットワーク（ＷＡＮ：Wide Area Network）、無線ローカルエリアネットワーク（ＷＬＡＮ：Wireless Local Area Network）、メトロポリタンエリアネットワーク（ＭＡＮ：Metropolitan Area Network）、ストレージエリアネットワーク（ＳＡＮ：Storage Area Network）、パーソナルエリアネットワーク（ＰＡＭ：Personal Area Network）、エンタープライズプライベートネットワーク（ＥＰＮ：Enterprise Private Network）若しくは仮想プライベートネットワーク（ＶＰＮ：Virtual Private Network）などの他のタイプのネットワークを含んでもよい。
【００３５】
ネットワーク１２０は実際には複数の個別ネットワークであってもよいので、図において見てとれるようなネットワーク１２０が抽象的概念されていることがある、ということに留意するべきである。例として、コンピュータ１０２は、インターネットサービスプロバイダによって提供される接続を介して、保護されたリソース１３０及びエンタープライズコンピュータ環境１４４に対して接続されてもよい。しかしながら、エンタープライズコンピュータ環境１４４又は認証アプライアンス１４０は、電気通信技術に基づくものなどの電気通信ネットワークを用いて、モバイル装置１１２と通信してもよい。
【００３６】
エンタープライズコンピュータ環境１４４は、エンタープライズサービスを提供するエンタープライズサーバの集合であってもよい。エンタープライズコンピュータ環境１４４は、ネットワークベースの認証サービスを提供してもよい。いくつかの構成において、エンタープライズコンピュータ環境１４４は、会社の業務も役立つように構成された、任意のビジネス向けのシステム、装置、アプリケーション、サービス、又は情報技術を備えてもよい。例えば、エンタープライズコンピュータ環境１４４は、１つ以上のエンタープライズサービス、ネットワークサービス、認証アプライアンス１４０などの認証サーバ若しくは認証アプライアンス、及び／又はデータベース１４２などのデータベースを含んでもよい。図示した実施形態において、エンタープライズコンピュータ環境１４４は、認証アプライアンス１４０とデータベース１４２とを備える。
【００３７】
保護されたリソース１３０は、フラッシュドライブ又はコンピュータ読み取り可能な記憶媒体、デジタルファイル、クラウドコンピューティングクラスタ、ネットワーク又は仮想プライベートネットワーク（ＶＰＮ）、ウェブページ又はウェブリソースなどの、デジタル形式で情報又はコンテンツを伝達することができる任意のものでよい。保護されたリソース１３０は、また、サービスを提供するサーバの集合であってもよい。いくつかの提供されるサービスの例は、カレンダー、電子メール、文献管理、ファイルサービス、又はクライアント／サーバーアーキテクチャを用いる他のアプリケーションを含む。いくつかの構成において、保護されたリソース１３０は、インターネットを通じてアクセス可能なウェブサイトであってもよい。いくつかの構成（図示せず）において、保護されたリソース１３０は、エンタープライズコンピュータ環境１４４内でホスティングされる。保護されたリソース１３０は、それ自身の認証ソフトウェアにより、又は第三者の認証サービスによって、セキュア化されてもよい。いくつかの構成において、保護されたリソース１３０はエンタープライズコンピュータ環境１４４内で動作する認証アプライアンス１４０によってセキュア化されてもよい。例えば、Ｃｏｍｐａｎｙ．ｃｏｍが認証アプライアンス１４０を介してその従業員のためのネットワークベースの認証サービスを提供するためにエンタープライズコンピュータ環境１４４を用いれば、Ｃｏｍｐａｎｙ．ｃｏｍの従業員「ジョン・スミス（John Smith）」は、ＶＰＮなどのＣｏｍｐａｎｙ．ｃｏｍの保護されたリソースにアクセスするために認証アプライアンス１４０により認証する必要がある場合がある。
【００３８】
いくつかの構成において、保護されたリソース１３０は、ハードウェア若しくはソフトウェア、又はその２つの等価な組み合わせで実装することができる認証モジュールを有してもよい。保護されたリソース１３０の認証モジュールは、アプリケーション１０６が認証されずに保護されたリソース１３０にアクセスすることを試みているような場合に、認証ウェブサイト又は認証アプライアンス１４０にアクセスするようにアプリケーション１０６を指示するために用いることができるユニフォームリソースロケータ（ＵＲＬ：Uniform Resource Locator）を格納してもよい。いくつかの構成において、保護されたリソース１３０の認証モジュールは、コンピュータ１０２の背後のユーザが認証されたと一旦決定すると、アプリケーション１０６のアクセスを許可するように構成されてもよい。
【００３９】
他の構成において、アプリケーション１０６は、認証モジュールを有してもよい。いくつかの実施形態において、格納されたＵＲＬは、アプリケーション１０６のダウンロード又はインストールの前若しくは後に、システム管理者によって設定可能にしてもよい。更に、アプリケーション１０６は、アクセスされる保護されたリソース１３０に応じて異なるＵＲＬを用いることができる複数の認証ＵＲＬ、又は保護されたリソース１３０にアクセスしようとするユーザの特性（例えば、エンタープライズ、ドメイン若しくはネットワーク、ユーザ名若しくはユーザ識別情報、又は他の属性）を格納することができる。
【００４０】
認証アプライアンス１４０は、エンタープライズコンピュータ環境１４４における法人若しくは組織のエンタープライズのネットワーク上、又はエンタープライズ（図示せず）の外部のクラウドサービスとしてのいずれかに常駐するサーバ又は複数のサーバであってもよい。それはまた時として、認証、ログオン、認可又はセキュリティサービスとして、認識される。いくつかの構成において、認証アプライアンス１４０は、ソフトウェアアプリケーション又はサービスであってもよい。
【００４１】
いくつかの実施形態において、認証アプライアンス１４０は、そのユーザを認証するために、特定のエンタープライズによって操作されてもよい。例えば、Ａｄｏｂｅ社のＩＴ部門は、本明細書に記述される、ユーザ名、パスワード、又は他の識別情報などの従業員の認証資格情報を検証するために、Ａｄｏｂｅ社の従業員のすべてに対して、認証サーバを実行する場合がある。代替的に、認証アプライアンス１４０は、エンタープライズのユーザ、又はエンタープライズのサービス若しくは第三者のサービスに加入しているユーザを認証するために第三者によって操作されてもよい。認証アプライアンス１４０は、コンピュータ若しくはモバイル装置上の制限されたローカルな機能／アプリケーション、又はウェブサービス、電子メール、カレンダーなどのネットワークベースのアプリケーションサービスなどの認証を要求する様々なリソースのための認証サービスを提供してもよい。
【００４２】
認証アプライアンス１４０は、保護されたリソース１３０によって提供されるものなどのネットワークサービスに対するアクセスを得る前にユーザ及び／又は装置が認証することを可能にしてもよい。認証アプライアンス１４０は、保護されたリソース１３０のアクセスの試みに呼応して行うことができる認証プロセス又はワークフローを開始してもよい。認証アプライアンスは、認証プロセスを実行するために、コンピュータ１０２、モバイル装置１１２、及び／又は保護されたリソース１３０と通信するように構成されてもよい。この認証プロセス又はワークフローの例は、図２及び図３に関して更に詳細に提供される。いくつかの構成において、認証アプライアンス１４０は、装置から受信した資格情報を検証し、及び／又はユーザ若しくは装置に関連づけられた任意の認証若しくは認可の情報を調べるために、データベース１４２などの識別情報データベースにアクセスしてもよい。いくつかの構成において、ユーザの資格情報の検証は、一致するものを識別するために、ユーザが提供する資格情報とデータベース１４２内で格納された参照資格情報とを比較することを含んでもよい。
【００４３】
データベース１４２は、アクセス可能で、管理可能で、更新可能に整理され、いくつかの構成において、複数のデータベース又は情報の集合を表わすことができるであろう、任意の情報の集合であってもよい。データベース１４２は、ユーザ識別情報又は資格情報に関連づけられた任意のデータの集合であってもよい。データベース１４２は、例として、構内に又は（例えば、場合によっては第三者によって敷地外でホスティングされる）クラウド内に、ユーザ資格情報及び／又はプロファイルを格納若しくは認証する、ＳＱＬデータベース、マイクロソフトアクティブディレクトリサーバ、ＬＤＡＰディレクトリ、ケルベロスサーバ、資格情報サーバ、ＲＡＤＩＵＳサーバ、又は他のデータベースを含んでもよい。いくつかの構成において、データベース１４２は、保護されたリソース１３０にアクセスすることを許可される様々なユーザ識別情報のユーザ名及びパスワードを格納してもよい。このような構成のいくつかにおいて、データベース１４２は、また、ユーザに関連づけられたモバイル装置に対して情報又は信号を送信するために用いることができる、ユーザ識別情報に関連づけられた電話番号又はモバイル装置識別子を格納してもよい。他の構成において、分離されたデータベース（図示せず）が、電話番号又はモバイル装置識別子を格納してもよい。いくつかの構成において、データベース１４２は、保護されたリソース１３０に関連づけられたユーザの認可情報を格納してもよく、保護されたリソース１３０内の特定の機能又はサービスを用いることをユーザに認可しているか否かを判定するために用いることができる。このシナリオにおいて、認証プロセスが成功すると、コンピュータ１０２は、保護されたリソース１３０のある特定の側面又は機能に対してのみアクセスしてもよい。
【００４４】
コンピュータ１０２は、保護されたリソース１３０にアクセスすることができる任意のコンピューティング装置であってもよい。コンピュータ１０２は、認証プロセスを開始するために用いられる任意のコンピューティング装置であってもよい。コンピュータ１０２は、クライアント装置として機能するパーソナルコンピュータ又はワークステーションであってもよい。コンピュータ１０２は、中央処理装置、記憶装置、及び同種のものを有してもよい。コンピュータ１０２は、また、ディスプレイ装置及び／又はキーボード若しくはマウスなどの入力装置を含んでもよい。モバイル装置と従来のコンピュータと間の区別が、両者が多くの同じ機能を共有するため漸増的に不鮮明になっているので、コンピュータ１０２は、また、スマートフォン、タブレット若しくはノートブックコンピュータなどのモバイル装置又は他の携帯型電子装置であってもよい。
【００４５】
コンピュータ１０２は、ネットワーク１２０を通じて保護されたリソース１３０にアクセスするために用いられてもよいアプリケーション１０６を有していてもよい。アプリケーション１０６は、起動される前に、コンピュータ１０２上にダウンロード又はインストールされるアプリケーションであってもよい。いくつかの構成において、アプリケーション１０６は、スタンドアロンのアプリケーションである。いくつかの構成において、アプリケーション１０６は、インターネット上のウェブページをブラウズするように構成されたウェブブラウザなどのブラウザであってもよい。他の構成において、アプリケーション１０６は、保護されたリソース１３０にアクセスする際に他のアプリケーションと連動するように構成されてもよい。このような構成のいくつかにおいて、アプリケーション１０６は、ブラウザと連動するように構成されてもよい。例えば、ブラウザが保護されたリソース１３０のＵＲＬに対してダイレクトされると、アプリケーション１０６は、ブラウザ上の保護されたリソース１３０を閲覧することができる前に認証プロセスを開始するためにステップインしてもよい。いくつかの構成において、アプリケーション１０６は、開く（opening）際に保護されたリソース１３０にアクセスするように構成される。例えば、アプリケーション１０６が、Ｏｕｔｌｏｏｋである場合、開かれたときに、安全なサーバ内に格納された電子メールにアクセスすることを試みてもよい。
【００４６】
モバイル装置１１２は、コンピュータ１０２から分離した別個の任意のコンピューティング装置であってもよい。モバイル装置１１２は、パーソナルコンピュータ又はワークステーションであってもよいし、又は、携帯電話又はタブレット若しくはノートブックコンピュータなどの他の携帯型電子装置であってもよい。モバイル装置１１２は、中央処理装置、記憶装置、及び同種のものを有してもよい。モバイル装置１１２は、また、ディスプレイ装置、及び／又はタッチスクリーン、キーボード、及びその他のものなどの入力装置を含んでもよい。いくつかの実施形態において、モバイル装置１１２は、キーボード、マウス、スタイラスペンなどの付加的な入力周辺装置を使用せずに、ユーザが入力（例えば画面上に示されたユーザインタフェースエレメントの選択）を迅速に提供することを簡単で且つ便利にするタッチスクリーンを有するスマートフォンである。
【００４７】
モバイル装置１１２は、無線ネットワーキングを介してグローバルインターネットに対して接続されてもよい。典型的なネットワーク接続は、８０２．１１Ｗｉ−ｆｉ接続、又はＧＳＭ、ＥＤＧＥ、ＵＭＴＳ、ＷＣＤＭＡ、ＥＶ−ＤＯ、ＬＴＥなどの他の３Ｇ若しくは４Ｇセルラデータ技術のいずれかを含む。このような接続は、モバイル装置、ブラウザ、及びクライアントアプリが、ＴＣＰ／ＩＰネットワーク、又はネットワーク１２０若しくはインターネットなどの他のＯＳＩレイヤ３ネットワーク上のリソースと通信することを可能にする。接続することができるリソースは、例として、認証アプライアンス１４０とエンタープライズコンピュータ環境１４４とを含む。
【００４８】
モバイル装置１１２は、認証を実行するためのアプリケーション１１６を有してもよい。いくつかの実施形態において、アプリケーション１１６は、Ａｐｐｌｅ社ｉＯＳ及びＧｏｏｇｌｅ社Ａｎｄｒｏｉｄ及びＷｉｎｄｏｗｓ ＲＴなどのスマートフォンオペレーティングシステム上のアプリケーションである。アプリケーション１１６は、複雑なコンピュータ及びネットワーキング環境内で動作されてもよく、モバイル装置上、典型的にはスマートフォン上で、実行するように記載されてもよい。アプリケーション１１６は、それらのネイティブアーキテクチャ又はオペレーティングシステム内でのみ機能することができるという点で、ネイティブソフトウェアであってもよい。例えば、Ａｐｐｌｅ社ｉＯＳオペレーティングシステム用に設計され、Ｏｂｊｅｃｔｉｖｅ Ｃで記載されたアプリケーションは、Ｇｏｏｇｌｅ社のアンドロイド携帯上では機能しない。アプリケーション１１６は、クラウド配信チャネルを用いて、モバイル装置上にダウンロード又はインストールされてもよい。例えば、Ａｐｐｌｅ社のｉＰｈｏｎｅプロダクトは、ｉＴｕｎｅｓサービスからｉＯＳクライアントアプリをダウンロードする機能を有し、アンドロイド携帯は、Ｇｏｏｇｌｅ ＰｌａｙからＡｎｄｒｏｉｄクライアントアプリをダウンロードすることができる。いくつかの構成において、アプリケーション１１６は、ウェブベースの認証を実行するためのブラウザ機能を組み込んでいてもよい。他の構成において、アプリケーション１１６は、ウェブベースの認証を実行するための別個のブラウザと対話するように構成されてもよい。
【００４９】
アプリケーション１１６は、認証アプライアンス１４０から情報及び信号を受信するように構成されてもよい。アプリケーション１１６は、認証シーケンスのモバイル装置部分を実行するように構成されてもよい。アプリケーション１１６は、ユーザが認証プロセスを完了し、且つ保護されたリソース１３０に対するコンピュータ１０２のアクセスを許諾するために、追加的な認証ファクタを提供することを可能にしてもよい。アプリケーション１１６は、ユーザが正しい追加的な認証ファクタを提供するためのユーザインタフェースを提供してもよい。
【００５０】
いくつかの構成において、アプリケーション１１６は、インターネット上のウェブサイトにアクセスすることができるウェブブラウザなどのブラウザを備えてもよい。ブラウザは、ｉＰｈｏｎｅ又は同様のＡｎｄｒｏｉｄ装置のようなモバイル装置上にプリインストールされたウェブブラウザなどのネイティブウェブブラウザであってもよい。ブラウザは、モバイルユーザが様々なユニフォームリソースロケータ（ＵＲＬ）にアクセスすることを可能にしてもよい。ブラウザは、ＨＴＴＰ及びＨＴＴＰＳ通信の送受信、Ｊａｖａ及びＪａｖａｓｃｒｉｐｔなどのクライアント側マネージドコードの実行、様々な受信データのレンダリングなどの、通常のウェブブラウザのほとんどの機能を有していてもよい。モバイルブラウザは、標準的ＨＴＭＬ４ブラウザクッキースペース、ＨＴＭＬ５ローカルストレージを含むＨＴＭＬ５ストレージスペース、ＨＴＭＬセッションストレージ、ＨＴＭＬ５グローバルストレージ、ＨＴＭＬ ＳＱＬＬｉｇｈｔストレージ、Ａｄｏｂｅフラッシュスペース、Ａｎｄｒｏｉｄ Ｄａｌｖｉｋストレージスペース、Ｊ２ＭＥＭａｎａｇｅｄコードスペース、Ｍｉｃｒｏｓｏｆｔ．ＮＥＴコードスペース、並びにネイティブＸ．５０９ｖ３証明書ストレージスペース及びＳＤＲＯＭファイル空間を含む、様々なデータストレージ内に受信情報を格納することができる。認証アプライアンス１４０から信号を受信する際、ブラウザは、ウェブベースの認証のためにＵＲＬに対してリダイレクトされてもよい。ブラウザは、ユーザが認証プロセスを完了するために必要とされる正しい追加的な認証ファクタを提供するためにユーザインタフェースを提供してもよい。
【００５１】
いくつかの構成において、アプリケーション１１６は別個のブラウザと連動するように構成されてもよい。認証アプライアンス１４０から信号を受信する際、アプリケーション１１６は、ウェブベースの認証のためにＵＲＬに対して別個のブラウザをリダイレクトしてもよい。別個のブラウザは、ユーザが正しい追加的な認証ファクタを提供するためにユーザインタフェースを提供してもよい。
【００５２】
ＩＩ．対話の例（図２〜４）
図２は、本開示の１つの実施形態による、ユーザ識別情報のための保護されたリソースに対するアクセスを、認証アプライアンスがどのように制御することができるのかを例示するフローチャートである。
【００５３】
図３は、認証プロセスの間のモバイル装置認証システムの１つの実施形態のコンポーネント間のいくつかの対話を例示するアクティビティ図である。
【００５４】
認証アプライアンス１４０が図２及び図３の両方に共通の認証プロセスの不可欠な機能であるので、図２及び図３を別々に解釈するよりも、むしろ一緒に解釈するほうが有用になる場合がある。
【００５５】
図２に関して、ブロック２０２において、ユーザは、コンピュータ１０２上の保護されたリソース１３０にアクセスすることを試みることができる。いくつかの実施形態において、ユーザは、コンピュータ１０２上のアプリケーション１０６を通じ、ネットワーク１２０を介して保護されたリソース１３０にアクセスすることを試みようとすることができる。いくつかの構成において、アプリケーション１０６は、ブラウザであってもよく、保護されたリソース１３０にアクセスすることを試みることは、保護されたリソース１３０のＵＲＬに対してブラウザをダイレクトすることを含んでもよい。他の構成において、アプリケーション１０６はブラウザではない。例えば、ユーザは、コンピュータ１０２上のＶＰＮクライアントを通じて自分の会社のＶＰＮにアクセスすることを試みようとすることができる。しかしながら、いずれの場合も、保護されたリソース１３０にアクセスするために、保護されたリソース１３０に対する不正アクセスを防止するためにユーザを先ず認証しなければならない。
【００５６】
いくつかの実施形態において、保護されたリソース１３０は、ユーザが未だ認証されておらず、ユーザが認証されるまでユーザに対するアクセスを拒否することになる、ということを認識することになる。このような実施形態のいくつかにおいて、保護されたリソース１３０は、アプリケーション１０６（又は別個のブラウザ）を通じて認証アプライアンス１４０に対してユーザをダイレクトするように構成されてもよい。いくつかの実施形態において、アプリケーション１０６は、ユーザが未だ認証されていないということを認識してもよく、保護されたリソース１３０の支援なしで認証アプライアンス１４０に対して（アプリケーション１０６又は別個のブラウザのいずれかを通じて）ユーザをダイレクトしてもよい。いくつかの実施形態において、認証アプライアンス１４０は、ウェブベースであり、アプリケーション１０６（又は別個のブラウザ）は、認証アプライアンス１４０に関連づけられた認証ウェブサイトのＵＲＬに対してダイレクトされる。認証アプライアンス１４０のＵＲＬは、保護されたリソース１３０又はアプリケーション１０６のいずれかによって保持することができる。
【００５７】
いくつかの実施形態において、ログオンユーザインタフェースは、ユーザが自分のユーザ識別情報に関連づけられた資格情報と共に認証アプライアンス１４０を提供することを可能にするコンピュータ１０２上に提供される。より一層のセキュリティのために、認証アプライアンス１４０は、認証されたユーザに対してのみ有効であり、且つ、いかなる無認証のユーザも取得するのが困難になるように設計された追加的な認証ファクタを要求してもよい。いくつかの実施形態において、認証アプライアンス１４０は、認証の方法を取り決めることができる。このような実施形態のいくつかにおいて、このログオンユーザインタフェースは、マルチファクタ認証を実行するための様々な選択可能なオプションをユーザに提供することができる。このような実施形態のいくつかにおいて、このログオンユーザインタフェースは、モバイル装置の２要素認証のいくつかの形態を実行するためのオプションを提供することができる。他の実施形態において、ユーザは、選択肢が提供されるよりも、本明細書に記載の認証方式などの何らかの種類のモバイル装置の２要素認証を実行することを義務付けられてもよい。
【００５８】
いくつかの実施形態において、ログオンユーザインタフェースは、認証アプライアンス１４０に対して直接的に送出するためにユーザが送出した資格情報及び選択された認証方法を収集することができる、保護されたリソース１３０の認証モジュールによって生成される。いくつかの実施形態において、ログオンユーザインタフェースは、認証アプライアンス１４０に対して送出するためにユーザが入力した資格情報及び選択される認証方法を収集することができる、アプリケーション１０６内で生成される。いくつかの実施形態において、認証アプライアンス１４０は、コンピュータ１０２と認証アプライアンス１４０との間の通信が確立された後に生成される、関連づけられたログオンユーザインタフェースを有するように構成されてもよい。ログオンユーザインタフェースは、認証アプライアンス１４０に対して送出するためにユーザが送出した資格情報及び選択された認証方法を収集するコンピュータ１０２上の別個のブラウザ内に生成されてもよい。
【００５９】
図２に関して、ブロック２０４において、ユーザは、認証方式のための第２のファクタオプションを利用するために「共有秘密情報（shared secret）」又は「押して許可（push-to-accept）」のいずれかをログオンユーザインタフェースにおいて選択してもよい。両方の用語が本明細書において論じるモバイル装置の２要素認証方法に関連づけられることができ、折に触れて互換的に用いられてもよい、ということに留意するべきである。用語「押して許可」は、認証プロセスを進めるためにユーザのモバイル装置上で単一のボタンを押すことをユーザが行う認証方式を包含する。
【００６０】
ブロック２０６において、ユーザは、認証アプライアンス１４０に対してユーザ識別情報に関連づけられた資格情報を提供してもよい。典型的には、資格情報は、ユーザ名又はユーザＩＤ、及びパスワードを含んでもよい。
【００６１】
ブロック２０８において、認証アプライアンス１４０は、ユーザが送出した資格情報を受信し、認証ワークフローを開始する。いくつかの構成において、認証アプライアンス１４０は、「共有秘密情報」又は「押して許可」方式が追加的な認証ファクタを取得する方法として有効か否かをこの時点において判定又は確認してもよい。可用性は、保護されたリソース１３０の構成又はユーザ及び／又はコンピュータ１０２の属性に左右され得る（例えば、ユーザが期限付きのゲストアカウント又はゲストコンピュータを用いている場合、ユーザに関連づけられたモバイル装置がないようだ、ということが分かるようになっていてもよい）。
【００６２】
ブロック２１０において、認証アプライアンス１４０は、ユーザ資格情報をチェックし検証してもよい。認証アプライアンス１４０は、ユーザが提供する資格情報を１セットの参照資格情報と比較することによって、ユーザ資格情報を検証してもよい。いくつかの構成において、参照資格情報のセットは、図１に示されるようなデータベース１４２内に格納されてもよい。ユーザが提供する資格情報が検証されると、認証プロセスを進行することができる。しかしながら、ユーザが提供する資格情報を検証することができない場合、認証プロセスは、停止又は再起動し、ユーザは、最初からやり直して資格情報を提供しなければならない。いくつかの実施形態において、認証アプライアンス１４０は、資格情報に関連づけられた参照ユーザ識別情報が格納されているか否かを判定するためにマイクロソフト社のアクティブディレクトリなどの識別情報データベースにアクセスすることによって、資格情報を検証してもよい。
【００６３】
いくつかの構成において、認証アプライアンス１４０は、「共有秘密情報」又は「押して許可」方式が追加的な認証ファクタを取得する方法として有効か否かをこの時点において判定又は確認してもよい。例えば、参照ユーザ識別情報がそれらのユーザ識別情報に関連づけられた電話番号又はモバイル装置識別子と同じデータベース内にある場合、認証アプライアンス１４０は、モバイル装置１１２がユーザ識別情報に関連づけられているか否かと、追加的な認証ファクタを提供するために用いるのに有効であるか否かを同時に効率的に判定することができるだろう。いくつかの構成において、データベース１４２は、また、そのユーザ又は装置のための資格情報に関連づけられたモバイル装置１１２の番号又はモバイル装置識別子を含んでもよい。従って、認証アプライアンス１４０は、ユーザの資格情報を検証しながら、電話番号又はモバイル装置識別子を調べてもよい。
【００６４】
ブロック２１２において、認証アプライアンス１４０は、ユーザ識別情報を成功裏に検証し、共有秘密情報を生成する。共有秘密情報は、各々の認証シーケンスに対して動的に生成される。先に記述されたように、共有秘密情報は、認証プロセスを開始するために用いられたコンピュータ１０２を介してユーザに対して提示される一方で、認証アプライアンス１４０によって生成及び認識されることができる任意の種類のデータであってもよい。いくつかの構成において、共有秘密情報は、ユーザのコンピュータ上のユーザインタフェース上でユーザに対して視覚的に提示される。共有秘密情報の形式は、個別の実施形態にわたって変化する。
【００６５】
いくつかの実施形態において、共有秘密情報は、パターンであってもよいし、ユーザが自分のモバイル装置上にパターンを再現するように要求されてもよい。例えば、パターンは、タッチスクリーンを有するモバイル装置により典型的に用いられる、パターンボックス又はパターンロックのためのスワイプパターンであってもよい。ユーザは、自分のモバイル装置上のアプリケーション内でそのパターンを描画することによって認証プロセスを完了するために、ユーザがさらに動作を講ずる必要がある旨を通知されてもよい。ユーザのモバイル装置上のアプリケーションは、ユーザがパターンを再現することができるユーザインタフェースを有してもよい。例えば、アプリケーションは、ユーザが認証シーケンスを完了するために共有秘密情報パターンを描画する必要があるかもしれないパターンボックスを表示してもよい。
【００６６】
他の構成において、共有秘密情報は、画像、絵画、又は記号であってもよいし、ユーザが自分のモバイル装置上に提示された画像のバンクの中からその特定の画像を選択するように要求されてもよい。例えば、画像は、文字又は数字の画像であってもよい。ユーザは、自分のモバイル装置上のアプリケーション内でその画像を選択することによって認証プロセスを完了するために、ユーザが更に動作を講ずる必要がある旨を通知されてもよい。それらのモバイル装置上のアプリケーションは、ユーザが選択するべき多くの選択可能な画像を表示するユーザインタフェースを有してもよい。例えば、そのアプリケーションは、９つの文字を表示してもよく、ユーザは、認証シーケンスを完了するために共有秘密情報を照合する文字を選択する必要があるようにしてもよい。
【００６７】
いくつかの実施形態において、共有秘密情報は、ユーザが自分のモバイル装置を選択又は入力する鍵であってもよい。例えば、共有秘密情報は、モバイル装置内に入力しなければならない数字、単語、シーケンス、又はその他のものであってもよい。更に他の構成において、共有秘密情報は、チャレンジ応答シーケンスのためのチャレンジ又は応答のいずれかであってもよく、ユーザは、自分のモバイル装置上の共有秘密情報に無料の応答又はチャレンジを提供するように要求されてもよい。例えば、共有秘密情報は、ユーザに母音を選択するように要求してもよく、ユーザは、そのうちの１つのみが母音である複数の文字から選択する必要があるようにしてもよい。
【００６８】
統計的予測から、それらのモバイル装置内で共有秘密情報を入力、選択、描画、再現、又は照合することをユーザに要求することは、不正な要求に対する追加的な認証ファクタをユーザが提供する可能性を完全には除去しないかもしれない。例えば、それらの携帯電話上に合計９つの画像が提示された場合にユーザが単一の一致する画像を選択しなければならない場合、ユーザが認証プロセスを開始していないにもかかわらず、アトランダムに画像を選択するかもしれないという可能性が依然としてある。このシナリオにおいて、ユーザが一致する画像を実際に選択し、不正な要求に対し必要とされる付加的な認証ファクタを提供するという確率は１／９になるだろう。
【００６９】
しかしながら、人間の観点からすると、ユーザは、考えずに単一のボタン（例えば「許可」）をただ押すようには条件づけられていないので、それらのモバイル装置内で共有秘密情報を入力、選択、描画、再現、又は照合することをユーザに要求することは非常に効率的である。それどころか、対応する共有秘密情報を予め認識する（例えば、選択又は描画するものを認識する）ことをユーザに要求することによって、ユーザは、自分が不正な要求又は不招請のプッシュ通知を受信した際に先ず第１にランダムに推測するはずもない。
【００７０】
ユーザがランダムに正確に推測する可能性が重大であるならば、その可能性は、共有秘密情報の形式及びパラメータを変えることによって変更することができる。これは、認証プロセスがユーザにとってどのくらい便利なのかということに加えて、認証プロセスがユーザにとってどのくらい安全なのかということに影響を与えかねない。ユーザが合計９つの画像からの単一の一致する画像を選択しなければならない例において、ランダムに正確に推測するユーザの可能性は、ユーザの利便性を低減するという代償を払って、ユーザが選択しなければならない画像の数を増加させることによって低減できる。その可能性は、ユーザが、複数の画像、数字、又は文字を選択するように要求することによって更に低減することができ、（例えば、語を形成する）特殊シーケンスにおいて複数の画像を選択することを要求することによって、更に低減される。ユーザがパターンボックス内でパターンを描画しなければならない例に関して、ユーザがランダムに正確に推測する可能性は、パターンボックスのサイズを増加させる、又はパターンにおけるストロークの数を増加させることによって、低減することができる。
【００７１】
従って、共有秘密情報の形式及びパラメータは、認証プロセスの所望の目標に基づいて、更にセキュリティと利便性との間で特定の比較検討を行うために、選択されてもよい。いくつかの構成において、認証アプライアンス１４０は、内部構成、保護されたリソース１３０のセキュリティ設定、このような状況下でのフィッシング攻撃のリスク、及びユーザ又はコンピュータ１０２の属性に基づいて共有秘密情報の形式を決定することができてもよい。例えば、ユーザがユーザの識別情報を最初に登録するために用いられたものとは異なるコンピュータを用いていれば、認証アプライアンス１４０は、より多くの安全な共有秘密情報形式を選択することができてもよいし、又は、フィッシング攻撃の可能性が低い場合、認証アプライアンス１４０は、より便利な共有秘密情報形式を選択することができてもよい。
【００７２】
ブロック２１４において、認証アプライアンス１４０は、コンピュータ１０２上に表示するための共有秘密情報をコンピュータ１０２に提供してもよく、その結果、ユーザは、共有秘密情報を閲覧し精通することができる。これは、ユーザが共有秘密情報を閲覧することができる唯一のチャネルになる。いくつかの構成において、モバイル装置１１２は、また、共有秘密情報に「盲目的（blind）」であってもよい。これらの構成において、共有秘密情報は、モバイル装置１１２に対して常に提供されるわけではない。これは、認証アプライアンス１４０からモバイル装置１１２への伝送中に共有秘密情報が傍受されることを防止することによって、セキュリティを向上することができる。このような実施形態は、図８及び図１２に関連して、更に詳細に記述される。
【００７３】
ブロック２１６において、認証アプライアンス１４０は、ユーザ識別情報に関連づけられたモバイル装置１１２を調べてもよい。認証アプライアンス１４０は、既に、先にこれを行っているかもしれない。例えば、参照ユーザ識別情報がそれらのユーザ識別情報に関連づけられた電話番号又はモバイル装置識別子と同じデータベース内にある場合、認証アプライアンス１４０は、ユーザの識別情報を検証した際にモバイル装置１１２に関連づけられた情報を保持することができるだろう。いくつかの構成において、認証アプライアンス１４０は、ブロック２１６よりも、むしろブロック２０８又はブロック２１０においてモバイル装置１１２を調べてもよい。
【００７４】
いくつかの構成において、対応するユーザ資格情報及び／又はプロファイルに関連づけられた電話番号又はモバイル装置識別子が、ユーザ資格情報とは別個のデータベース内に格納されてもよい、ということに留意するべきである。例えば、認証アプライアンス１４０は、何らかの種類のポインタを用いて、モバイル装置情報を調べる必要があるようにしてもよい。
【００７５】
ブロック２１８において、認証アプライアンス１４０は、ユーザ識別情報に関連づけられたモバイル装置１１２に対して認証要求を送信してもよい。いくつかの構成において、認証要求は、認証アプライアンス１４０からモバイル装置１１２に対して送信されたプッシュ通知を含んでもよい。プッシュ通知は、開く際に、モバイル装置１１２上のアプリケーション１１６に開くように指示してもよい。認証要求のコンテンツは、個別の実施形態にわたって変わってもよい。図８及び図１２は、モバイル装置認証要求で見出すことができる何らかの情報のいくつかの例を例示する。
【００７６】
いくつかの構成において、認証要求は設定期間内にアプリケーション１１６によって開かれる必要があるようにしてもよいが、さもなければ、認証要求は期限切れになってもよく、モバイル装置１１２に対して新たな要求を送信することができるように、認証プロセスが繰り返されなければならないことになる。いくつかの構成において、認証アプライアンス１４０によって生成された共有鍵は、設定期間内に期限切れになるように構成されてもよい。従って、認証要求が開かれたとしても、ユーザが自分のモバイル装置１１２内に共有鍵を入力することができる前に共有鍵が期限切れになれば、認証プロセスは失敗することになる。
【００７７】
認証要求を開くことに呼応して、アプリケーション１１６は、追加的な認証ファクタを取得するためにモバイル装置上に認証ユーザインタフェースを提示してもよい。例えば、共有秘密情報が画像である場合、アプリケーション１１６は、共有秘密情報に対応するそれらの画像の１つと共に、選択可能な画像のバンクを表示する認証ユーザインタフェースを提示してもよい。別の例として、共有秘密情報がパターンである場合、アプリケーション１１６は、パターンボックス又はパターンロックなどのパターンを描画するための対話式のエリアを有する認証ユーザインタフェースを提示してもよい。
【００７８】
いくつかの構成において、アプリケーション１１６は、ウェブブラウザであるか、又は別個のブラウザと連動するように構成されてもよい。このような実例において、アプリケーション１１６は、ウェブベースの認証サービスのＵＲＬに対してブラウザコンポーネントをダイレクトしてもよい。ウェブページは、ユーザから追加的な認証ファクタを取得するための前述の認証ユーザインタフェースを有してもよい。いくつかの構成において、ＵＲＬは認証要求中に送信してもよい。このような構成のいくつかにおいて、ＵＲＬは、動的に生成されてもよく、ＵＲＬにおけるウェブページは、設定期間内に期限切れになるように構成されてもよい。従って、アプリケーション１１６が認証要求を開くのがあまりにも遅い場合、ＵＲＬにおけるウェブページは、期限切れになってもよく、認証プロセスが繰り返されなければならなくなる。
【００７９】
ブロック２２０において、ユーザは、自分のモバイル装置１１２上に提示された認証ユーザインタフェース内に共有秘密情報を入力してもよい。いくつかの構成において、ユーザが共有秘密情報を提供しなければならなくてもよい設定期間があってもよい。さもなければ、共有秘密情報が期限切れになってもよい。
【００８０】
いくつかの構成において、アプリケーション１１６は、ユーザが一旦共有秘密情報を入力すれば、認証アプライアンス１４０に対して認証応答を送信するように構成されてもよい。いくつかの構成において、認証アプライアンス１４０は、モバイル装置１１２からの応答を待機してもよい。このような構成のいくつかにおいて、モバイル装置１１２が応答を提供しなければならない設定期間があってもよい。その期間が期限切れになると、認証プロセスが繰り返される必要があるようにしてもよい。認証応答のコンテンツは、図９及び図１３に関連して更に詳細に記述される。
【００８１】
ブロック２２２において、モバイル装置１１２及び／又は認証アプライアンス１４０は、ユーザが入力した共有秘密情報とブロック２１２内に認証アプライアンス１４０によって生成された参照共有秘密情報とを比較することになる。この比較は、認証アプライアンス１４０によって遂行することができ、その場合には、ユーザが入力した共有秘密情報を、モバイル装置１１２から認証アプライアンス１４０に対して認証応答において送信することができる。代替的に、モバイル装置１１２が参照共有秘密情報を認識している場合、その比較は、モバイル装置１１２によってクライアント側で行うことができ、その場合には、モバイル装置１１２から認証アプライアンスに対する認証応答は、一致したか否かを通知してもよい。ユーザが入力した共有秘密情報が参照共有秘密情報と一致する場合、認証プロセスは成功する。
【００８２】
ブロック２２４において、認証の成功に際して、認証アプライアンス１４０は、保護されたリソース１３０に対するアクセスをコンピュータ１０２に提供してもよい。保護されたリソース１３０に対するアクセスを許諾するためのロジスティクスは、変化してもよい。いくつかの実施形態において、認証アプライアンス１４０は、資格情報のためのチェックによってユーザを認証することを可能にするように構成された、保護されたリソース１３０によって信用される資格情報を提供してもよい。いくつかの構成において、資格情報は、保護されたリソース１３０に対して提示することができる記憶可能なトークン（複数可）又は識別情報の形式であってもよい。いくつかの実施形態において、資格情報は永続的なトークンであってもよいが。その一方で、他の実施形態において、資格情報は、保護されたリソース１３０によって信用されるように構成される一時的なセキュリティトークンであってもよい。許諾されているアクセスが、セッショントークンを介するなどの一時的である場合、コンピュータ１０２の電源を切られ、アプリケーション１０６がログアウトされる場合などには、ユーザは、再び認証プロセスを通過する必要があるようにしてもよい。それに比べて、ユーザが認証プロセスを毎回通過しないように、永続的なトークンは、より長いセッションにわたって存続してもよい。
【００８３】
資格情報は、暗号署名を含んでいてもよい。ＰＫＩなどの公開鍵／秘密鍵の暗号化を用いることによって、認証アプライアンス１４０が資格情報を発行した主体だったことをほぼ保証することができる。これによって、保護されたリソース１３０は、アプリケーション１１６によって提示された資格情報が認証アプライアンス１４０によって発行されたということを信頼することができる。この署名は厳密には必要ではなく、資格情報に対する信用は、発行された資格情報に関連づけられたデータベースに対する保護されたリソース１３０によるデータベースの照合などの他の方法、又は当業者に知られている資格情報を検証するための他のこのような方法で、遂行されてもよい。
【００８４】
資格情報は、例として、平文若しくは暗号化されたｕｓｅｒｉｄ、平文若しくは暗号化されたｕｓｅｒｉｄ及びドメイン／組織（例えばｊｏｈｎｄｏｅ＠ｃｏｍｐａｎｙ．ｃｏｍ）、ＳＡＭＬ形式の識別情報アサーション（identity assertion）、ＯｐｅｎＩＤ、ＯｐｅｎＩＤ Ｃｏｎｎｅｃｔ、フォームベース認証（forms based authentication）、軽量サードパーティ認証（lightweight third party authentication）、暗号化ＵＲＬ、暗号化ＨＴＴＰヘッダ又はその他のブラウザベース形式の識別情報、トークンが生成又は配信された時刻、及びトークンの有効期限を備えてもよい。いくつかの構成において、資格情報は、資格情報の生成に関わる認証方法だけでなく、認証アプライアンス１４０のＵＲＬ又はドメインネームを格納してもよい。いくつかの構成において、資格情報の形式は、アプリケーション毎に変化してもよい。
【００８５】
資格情報は、コンピュータ１０２上のメモリ内、又はリレーショナルデータベースなどのより複雑なデータ構造内に、直接的に格納されてもよい。いくつかの構成において、資格情報は、特定の既知の場所において普遍的に格納されてもよい。これは、保護されたリソース１３０が、資格情報が既に存在するか否かを判定することを可能にし、もしそうでなければ、認証プロセスを開始するために認証アプライアンス１４０にアクセスするようにコンピュータ１０２に指示することを可能にする。
【００８６】
ブロック２２６において、ユーザは、コンピュータ１０２上の保護されたリソース１３０にアクセスすることができるだろう。より具体的には、ユーザの観点から、ユーザは、保護されたリソース１３０のコンテンツにアクセスするためにアプリケーション１０６を用いるだろう。
【００８７】
図３に関して、保護されたリソース１３０、コンピュータ１０２のアプリケーション１０６、認証アプライアンス１４０、データベース１４２及びモバイル装置１１２のアプリケーション１１６の間の前述の対話は、より容易い理解することができる段階的な方式で示される。但し、本明細書に記述されるようなステップを、提示された特定の順序で実行する必要はない。
【００８８】
ユーザは、（１）において、保護されたリソース１３０にアクセスするようにコンピュータ１０２上のアプリケーション１０６を指示してもよい。保護されたリソース１３０は、コンピュータ１０２上のアプリケーション１０６に対して有効な資格情報をチェックし、それらを検証してもよい。検証は、資格情報内に含まれる暗号署名を検証すること、又はローカルルックアップ又は遠隔データベースルックアップを実行することを必要としてもよいが、但し限定はされない。保護されたリソース１３０は、また、ユーザの時間／有効期限、許可及びアクセス権、並びにその他のものを評価するために資格情報を評定してもよい。資格情報を拒絶する理由は、例として、期限切れになった、又は暗号的に検証することができない、ということを含むことができるだろう。資格情報が有効又は許容できない、と保護されたリソース１３０が判定する場合、ユーザが保護されたリソース１３０をアクセスすることができる前にユーザ識別情報が認証される必要があるようにしてもよい。そして、保護されたリソース１３０は、（２）において、認証アプライアンス１４０にアクセスするようにアプリケーション１０６及び／又はコンピュータ１０２を指示してもよい。いくつかの構成において、アプリケーション１０６に対して有効な資格情報は、現在のセッションでのみ一時的にのみ有効であってもよい。資格情報がセッション間で存続するように構成されていない状況では、ユーザは、ユーザが保護されたリソース１３０にアクセスすることができる前に認証プロセスを通過することを常に要求されてもよい。
【００８９】
そして、ユーザは（３）において、認証アプライアンス１４０に対して、ユーザ識別情報に関連づけられた資格情報を提供してもよい。ユーザ識別情報に関連づけられた資格情報の例は、ユーザ名及びパスワード、静的なＰＩＮ、ユーザに対して登録された証明書、知識ベースの回答などを含んでもよい。いくつかの構成において、資格情報は、アプリケーション１０６を通じて送信されてもよい。アプリケーション１０６は、クライアント・サーバーのメカニズムを通じて直接的に資格情報を認証アプライアンス１４０へ渡すように構成されてもよい。例えば、アプリケーション１０６は、資格情報を認証アプライアンス１４０に対して送信することを可能にするウェブサービス、ＲＥＳＴコール、ＡＰＩ又は他のメカニズムを可能にしてもよい。いくつかの構成において、ユーザは、認証アプライアンス１４０に対して認証方式の選択を送信していてもよい。
【００９０】
そして、認証アプライアンス１４０は、ユーザの識別情報を検証するために、様々なエンタープライズ識別情報データベースを用いてユーザが提供する資格情報を検証してもよい。データベース１４２は、このような識別情報データベースの例であり、例として、ユーザ資格情報又はプロファイルを格納するサイト又はクラウドデータベース上のＳＱＬデータベース、マイクロソフトアクティブディレクトリサーバ、ＬＤＡＰディレクトリ、Ｏｒａｃｌｅ ＯＤＢＣサーバ、ＲＡＤＩＵＳサーバ、又は任意の他のものを含むことができる。これらのディレクトリ又は認証サービスの各々は、ユーザの識別情報に関する情報を格納することができる。これらのデータベースの多くは、また、認証プロトコルをサポートする。
【００９１】
認証アプライアンス１４０を通過した資格情報を介してユーザの識別情報を検証するための１つの方法は、（４）において、ユーザの識別情報の状態をチェックするためにデータベース１４２内のユーザのエントリを調べることである。ユーザによって送出された情報は、データベース内にある情報と比較することができる。送出された情報とデータベース常駐情報とが同一である場合又は選択比較パラメータの範囲内にある場合、ユーザは、自分が誰であるのかを主張したものと見なされ、検証されたものと見なされる。
【００９２】
図３に関して、（５）において、ユーザの識別情報の状態をチェックし受信することは、データベース１４２内で特定のユーザを検索することと、データベース１４２から完全なユーザエントリ又はユーザに関する特定の属性などのユーザに関する情報を受信することと、受信されたデータと送出された情報とを比較することとを備えてもよい。データベース１４２とのこのような対話は、ＳＳＬ／ＴＬＳ又は他のデータ機密性メカニズムなどの安全なチャネルを通じて行われてもよい。比較によりユーザのみが知るであろうユーザが送出した情報が示される場合、ユーザは、検証されたと見なされてもよい。
【００９３】
ユーザを認証するための別の方法は、データベースによる認証交換を実行することである。例えば、マイクロソフト社のアクティブディレクトリを含むＬＤＡＰディレクトリは、ユーザパスワード及び資格情報を検証することができる様々な認証機構をサポートする。このような認証交換は、例として、ＬＤＡＰバインド、又は秘密鍵／公開鍵交換とすることができるであろう。この方法は、必ずしも、データベースに対して特定の認証情報の伝送を要求しない。それどころか、当業者が認識することになるように、これらの方法は、ユーザが正しい情報を送出したか否かを判定するために暗号化、ノンス及びハッシュを用いてもよい。
【００９４】
いくつかの構成において、認証アプライアンス１４０は、また、ユーザの識別情報がアクセスすることを許可されているのが、保護されたリソース１３０上のどのサービス又は機能であるのかを判定してもよい。データベース１４２は、各々のユーザ識別情報と共に用いられることを許可された特定のサーバ、サービス、又は機能を決定するために用いることができる、ユーザに関連づけられた特定の属性値を含んでいてもよい。認証アプライアンス１４０は、これを決定するために、データベース１４２、又は特定のサーバ、サービス、又は機能に関係のある別のデータベースから、このユーザの特定のデータを要求してもよい。認証アプライアンス１４０は、保護されたリソース１３０に対してユーザのアクセスを許諾するために用いた資格情報を生成する際に、この決定を後で考慮してもよい。ユーザのアクセスを可能にするべきサービス又は機能がどれなのか判定するために、生成された資格情報が、保護されたリソース１３０によって解釈されてもよい。
【００９５】
ユーザの認証の一部として、認証アプライアンス１４０は、強化されたセキュリティのための追加的な認証ファクタを提供するためにモバイル装置を用いるというような、追加的な認証が実行されることを要求してもよい。この判定は、ユーザの認証方式の選択、認証アプライアンス１４０上のポリシーの構成に応じて、又はデータベース内に格納された構成又はポリシーとの協議の中で、時として独立して行うことができる。例えば、データベース１４２内のユーザ特有のデータは、個別のユーザに関連づけることができる認証構成又はポリシーを含んでもよい。特に、データベース１４２は、より高いレベルの認証が必要であることを示す、特定のユーザに関連づけられた属性を格納してもよい。強化されたセキュリティを伴う認証方式の例は、本明細書に記述された共有秘密情報モバイル装置の２要素認証方式である。
【００９６】
そして、認証アプライアンス１４０は、（６）において、共有秘密情報を生成し、ユーザに対して表示されるコンピュータ１０２にそれを送信してもよい。前述のように、共有秘密情報は、画像、パターン、鍵などにすることができるであろう。安全な共有秘密情報の例は、複数の画像の中から選択される必要があるようにしてもよい特定の画像、又はユーザが再現する必要があるようにしてもよい、タッチスクリーンパターンロック上の適切なパターンの描画などのパターンを含んでもよい。いくつかの構成において、共有秘密情報は、各認証セッションに対して動的に生成される。共有秘密情報がパターンである場合、それは、図５で見てとれるように、ユーザインタフェースを介してコンピュータ１０２上に表示されてもよい。共有秘密情報が画像である場合、それは、図１０で見てとれるように、ユーザインタフェースを介してコンピュータ１０２上に表示されてもよい。
【００９７】
いくつかの構成において、共有秘密情報の形式及びパラメータは、認証アプライアンス１４０上のポリシーの構成、保護されたリソース１３０上のポリシーの構成、認証プロセスを開始したユーザ又はコンピュータの１０２の属性、及びデータベース内に格納されてもよい、個別のユーザ識別情報に関連づけられた構成又はポリシーなどの情報を評価することによって、認証アプライアンス１４０によって決定されてもよい。例えば、認証アプライアンス１４０は、より高いレベルのフィッシング防止又はセキュリティが必要であることを示す、特定のユーザと関連づけられた属性のためのデータベース１４２内のユーザ特有のデータを評定してもよく、それから、認証アプライアンス１４０は、アトランダムに推測されることが少ない共有秘密情報を生成してもよい。他の構成において、認証アプライアンス１４０は、ある特定の形式の共有秘密情報のみを生成するように構成されてもよい。
【００９８】
特定の形式の共有秘密情報に対して、認証アプライアンス１４０は、事前に構成されたアルゴリズムに基づいて、確立されたパラメータ内で共有秘密情報を生成してもよい。例えば、共有秘密情報が、タッチスクリーンディスプレイ上に表示されたパターンボックス又はパターンロック内に描画されるように設計されたパターンである場合、共有秘密情報は、パターンボックスの寸法、パターン内のストローク数、ユーザが自分の指をタッチスクリーンから持ち上げないで描画することができるように接続されるストロークの要件、及びその他のものによって制約されてもよい。前述のように、例えばパターンボックスの寸法及びストロークの数などのいくつかの要件は、柔軟性があるようにすることができ、強化されたセキュリティ又は利便性のために変更することができる。そして、認証アプライアンス１４０は、特定されたパラメータの範囲内になるようにパターンをアトランダムに生成してもよい。言いかえれば、パターンが選択される可能性のあるパターンの母集団は、一様な分布を有してもよい。但し、パラメータの範囲内にランダムにパターンを生成する必要はない。何らかの方法を選択することができるだろう。例えば、認証アプライアンス１４０は、４から６までの範囲のある程度の数のストロークを有するパターンを生成するように構成されてもよいが、ある特定の状況下では、より多い数のストロークによるパターンが好ましいかもしれない。この例において、ストロークの最大数を増やさずに、共有秘密情報が状況に応じてアトランダムに推測された可能性を減少させるために用いることができる、可能なパターン順列の数を増やすことができる。
【００９９】
共有秘密情報が画像のバンクにおいて選択されるように設計された画像である例において、認証アプライアンス１４０は、共有秘密情報を生成する必要があってもよいだけではなく、画像のバンクを満たすために他の「おとり（decoy）」画像を供給する必要があってもよい。従って、共有秘密情報の生成は、任意の追加的な制約と共に、画像の全体のプール、表示される画像の数によって制約されてもよい。これらのパラメータは、強化されたセキュリティ又は利便性のための変更することができる。例えば、画像の全体のプールは、記号、又は、例として、３６の個別の画像がプール内に存在するように、アルファベット及び数字０−９の文字とすることも可能であろう。バンク内で表示される画像の数が９である場合、３６の画像のプールから選択される、９つの画像の組み合わせの数は莫大である。但し、９つの完全な画像によって、ユーザが正しい共有秘密情報をランダムに推測する確率は、１／９である。表示される画像バンク内の画像の総数を増加させると、ユーザが共有秘密情報をランダムに推測する可能性を少なくするだろうが、画像のプールにおいて有効な画像の組み合わせの数を減らす可能性もある。特定されたパラメータの範囲内で、認証アプライアンス１４０は。共有秘密情報及びおとり画像をアトランダムに生成してもよい。但し、前述のように、画像をランダムに選択する必要がなく、何らかの方法を選択することができるかもしれない。例えば、認証アプライアンス１４０は、数字のゼロ「０」と文字の「Ｏ」との両方を同じ組み合わせにしないようにする画像の組み合わせを好ましく選ぶように、ある範囲内のサイズの特定の画像バンクサイズを好ましく選ぶように、又は共有秘密情報が目立たない（例えば、おとり画像がすべて文字である一方で、それは数字である）ことを好ましく選ぶように、構成されてもよい。
【０１００】
他の共有秘密情報形式を生成する際に考慮されるパラメータ及び制約は、ここでは完全にはリストアップされないが、強化されたセキュリティ又は利便性のために変更することができる。共有秘密情報がどれくらい容易に推測され得るかということに影響を与えるいくつかのファクタ例は、共有秘密情報の長さ、共有秘密情報が生成されるプールの合計（チャレンジ応答のようないくつかの場合には、複数のプールがある）、共有秘密情報が選択されるプール又は代替的な選択肢の数、及びその他のものを含む。
【０１０１】
認証アプライアンス１４０は、（７）において、ユーザの資格情報及び／又はプロファイルに関連づけられたものと識別されたモバイル装置１１２に対して、認証ワークフローを開始するための信号を送信してもよい。いくつかの構成において、モバイル装置１１２の電話番号又は装置識別番号は、データベース１４２内に格納され、ユーザ資格情報の検証の間のある時点において決定されてもよい。
【０１０２】
いくつかの構成において、この信号は、認証要求であってもよい。このような構成のいくつかにおいて、認証要求は、プッシュ通知又はプロンプトであってもよい。認証要求は、モバイル装置１１２上のアプリケーション１１６によって開かれてもよい。アプリケーション１１６は、図４に例示された登録プロセスの間などの、認証プロセスの前にインストールされ構成されたモバイルアプリケーションであってもよい。
【０１０３】
認証要求の形式及びコンテンツは、アプリケーション１１６に提供される情報に応じて変化してもよい。より具体的には、認証要求は、アプリケーション１１６に生成された共有秘密情報を与えられるか否か、共有秘密情報がどのように生成されるのかをアプリケーション１１６が知っているか否かに応じて変化することになる。認証要求のさらなる詳細は、図８及び図１２に提供される。いくつかの構成において、認証要求は、モバイル装置１１２上の認証ユーザインタフェースを生成するために、又は認証ユーザインタフェースがどれくらい見えるのかを規定するために必要とする情報を、アプリケーション１１６を提供してもよい。
【０１０４】
認証要求を開くと、アプリケーション１１６は、ユーザに対して認証ユーザインタフェースを表示することになる。認証ユーザインタフェースは、ユーザが共有秘密情報であると信じるものを、ユーザがモバイル装置１１２内に入力、選択、描画、又は再現することを可能にする対話式のコンポーネントを有することになる。共有秘密情報がパターンである場合、図６及び図７に示すようなパターンを描画するために、パターンボックス又はパターンロックがユーザに対して提示されてもよい。共有秘密情報が画像である場合、図１１に示すような何らかのおとり画像上で共有画像を選択するために、画像バンクがユーザに対して提示されてもよい。
【０１０５】
共有秘密情報がプロンプト内にあるとユーザが信じるものを、ユーザは入力、選択、描画、又は再現する。そして、アプリケーション１１６は、（８）において、認証アプライアンス１４０に戻す認証応答を返信してもよい。認証応答の形式及びコンテンツは、アプリケーション１１６に対して提供された情報、及びユーザが入力した秘密情報と参照共有秘密情報との比較がモバイル装置１１２上で行われるか否か、に応じて変化してもよい。認証応答に関するより多くの情報は、図９及び図１３に提供される。
【０１０６】
いくつかの構成において、認証アプライアンス１４０に対して送信された認証応答は、ユーザが入力した秘密情報を含むことになる。そして、認証アプライアンス１４０は、ユーザが入力した秘密情報と、それが生成した参照共有秘密情報とを比較してもよい。
【０１０７】
いくつかの構成において、アプリケーション１１６は、認証要求を開く際にウェブベースの認証を実行するために、ブラウザを備えるか、又はブラウザと対話するように構成されてもよい、ということに留意するべきである。例えば、アプリケーション開発者（又は他の事業体）は、アプリケーション１１６内に、ブラウザとの対話を取り扱う認証モジュールを挿入することができるだろう。認証モジュールは、コンパイルされ及び実行された際に、認証プロセスの間に、特定のＵＲＬにアクセスし及び／又はウェブブラウザからデータを受信するように、ウェブブラウザに指示するコードの断片（snippets of code）を、直接的に又は間接的に備えることができる。従って、アプリケーション１１６は、ウェブ認証サーバ又は認証アプライアンス１４０のＵＲＬなどのウェブベースの認証に関連づけられたＵＲＬに対してブラウザをダイレクトしてもよい。認証ユーザインタフェースは、それは認証アプライアンス１４０の一部であってもよいし、又は認証アプライアンス１４０に対して認証応答を直接的に送信するように構成されてもよい、ウェブページ内に組み込まれてもよい。
【０１０８】
ユーザが入力した秘密情報と参照共有秘密情報とが一致する場合、認証アプライアンス１４０は、（９）において、保護されたリソース１３０に対するアクセスを、コンピュータ１０２上のアプリケーション１０６に許諾してもよい。いくつかの構成において、認証アプライアンス１４０は、保護されたリソース１３０に戻るアプリケーション１０６をリダイレクトする前にコンピュータ１０２上に格納するために識別情報又はトークンを提供してもよい。保護されたリソース１３０によって提供されたネットワークベースのアプリケーションサービスのいくつかに対するアクセスを得るために、これらの識別情報又はトークンが、保護されたリソース１３０に対して提示されてもよい。いくつかの構成において、識別情報又はトークンは、保護されたリソース１３０に、コンピュータ１０２上の（アプリケーション１０６に加えて）複数のアプリケーションがアクセスすることを更に可能にしてもよい。いくつかの構成において、識別情報又はトークンは、アプリケーション１０６又はコンピュータ１０２が、識別情報又はトークンを信用する複数の保護されたリソースにアクセスすることを更に可能にしてもよい。
【０１０９】
図４は、登録プロセスの間のモバイル装置認証システムの１つの実施形態のコンポーネント間のいくつかの対話を例示するアクティビティ図である。図４は、図３と非常によく似ており、図４は、図３で記述されていた認証プロセスを実行する前の登録プロセスを表わすことができる。ユーザは、（１）において、保護されたリソース１３０にアクセスするようにコンピュータ１０２のアプリケーション１０６を指示してもよい。但し、ユーザは、保護されたリソース１３０へのアクセスを可能にする資格情報を有しておらず、認証アプライアンス１４０により確立されたユーザ識別情報も有していない。いくつかの構成において、ユーザは、保護されたリソース１３０によって提供された登録リンク又はボタンをクリックしてもよい。そして、保護されたリソース１３０は、（２）において、登録プロセスを開始するために、認証アプライアンスに対してアプリケーション１０６をダイレクトする。そして、ユーザは、（３）において、認証アプライアンス１４０に対して自分のユーザ資格情報を提供してもよい。ユーザは、また、モバイル装置ベースの２要素認証を可能にするために、自分のモバイル装置１１２に関連づけられた電話番号などの自分のモバイル装置情報を提供してもよい。
【０１１０】
認証アプライアンス１４０は、（４）において、データベース１４２などの識別情報データベース内にユーザ資格情報及びモバイル装置情報を格納することによって、認証されたユーザ識別情報を生成してもよい。モバイル装置情報は、今後に認証用いられるユーザ識別情報に関連づけられる。
【０１１１】
一旦ユーザ識別情報が確立されれば、認証アプライアンスは、（５）において、ＳＭＳを介してなど、アプリケーション１１６に対するダウンロードリンクを、モバイル装置１１２に、オプションとして送信してもよい。ユーザは、自分のモバイル装置１１２上のリンクを開いてもよいし、又は、ユーザは、インターネット上でダウンロードのためのアプリケーション１１６を見つけることを選択してもよい。ユーザは、（６）において、モバイル装置１１２上に、アプリケーション１１６をダウンロードしインストールする。アプリケーション１１６は、認証プロセスのモバイル装置部分を実行するために、認証アプライアンス１４０からのプッシュ通知などの認証要求を受信するように、構成されてもよいし、又は事前に構成されてもよい。
【０１１２】
ＩＩＩ．パターンベースの共有秘密情報の実装（図５〜図９）
図５は、コンピューティング装置上のパターンを閲覧するためのユーザインタフェース例である。
【０１１３】
コンピュータ１０２は、保護されたリソース１３０にアクセスすることができる任意のコンピューティング装置とすることができるが、図５はコンピュータ１０２の１つの実施形態を描写する。
【０１１４】
認証アプライアンス１４０によって生成された共有秘密情報が閲覧するユーザに提供されるコンピュータ１０２のディスプレイ上に、共有ユーザインタフェース５００が示される。図から見てとれるように、共有秘密情報は、パターン５０２である。パターン５０２は、「Ｚ」形状を有しており、パターンボックスの左上部分から開始する３ｘ３パターンボックスの連結パターンである。ユーザの電話又はモバイル装置１１２上に、対応するパターンを描画するように、ユーザに対して命令が提供される。これは、ユーザがパターン５０２を見ることになる唯一の時である。フィッシングシナリオにおいて、共有ユーザインタフェース５００は、実際のユーザが有していると推定されるモバイル装置１１２に関連づけられた実際のユーザではなく、盗んだ資格情報をもつ悪意のあるユーザによって見られるかもしれない。
【０１１５】
図６は、モバイル装置上にパターンを描画することを要求するためのユーザインタフェース例である。
【０１１６】
モバイル装置１１２は、モバイル装置１１２がコンピュータ１０２と同じ装置でない場合以外は、認証プロセスのモバイル装置部分を実行することができる何らかのコンピューティング装置になり得るが、図６は、モバイル装置１１２の実施形態を描写する。
【０１１７】
モバイル装置１１２上で動作するアプリケーション１１６によって生成された認証ユーザインタフェース６００が、モバイル装置１１２のディスプレイ上に示される。認証ユーザインタフェース６００は、プロンプト６０２と対話部分６０４とを有しているように示される。
【０１１８】
プロンプト６０２は、ユーザ識別情報「ジョン・スミス（John Smith）」が、「保護されたリソース」に対してアクセスするように要求されて認証プロセスを開始した、ということをユーザに通知する。プロンプト６０２は、モバイル装置１１２のユーザに、アプリケーション１１６によって受信された認証要求の状況を通知する。
【０１１９】
対話部分６０４は、認証プロセスを完了するために、実行するのに必要な動作についてユーザに指示することができる。ここでは、正しいパターンを描画することをユーザに要求する。図５に実証されるように、対話部分６０４は、また、ユーザがコンピュータ１０２上に表示された共有秘密情報パターンを描画することができるパターンボックス又はパターンロックを有する。
【０１２０】
図７は、パターンが描画された後の図６におけるユーザインタフェース例を例示する。
【０１２１】
図６からの認証ユーザインタフェース６００は、図７において依然として見ることができる。唯一の相違は、ユーザが対話部分６０４内のパターン７０２内に描画した、ということである。パターン７０２は、パターンボックスの左上から始まる「Ｚ」形状パターンである。モバイル装置１１２上のユーザによって入力されたパターン７０２がコンピュータ１０２上に表示されたパターン５０２と一致するので、これは一致という結果になり、「ジョン・スミス」は、コンピュータ１０２上の「保護されたリソース」に対してアクセスすることが許諾されることになるだろう。
【０１２２】
図８は、モバイル装置に対して送信されたパターンベースの認証要求の様々なコンテンツ例を例示するブロック図である。
【０１２３】
認証アプライアンス１４０は、認証プロセスの間にモバイル装置１１２に対して認証要求を送信する。いくつかの場合において、認証要求は、アプリケーション１１６によって受信することができるプッシュ通知である。但し、認証要求の形式及びコンテンツは、共有秘密情報の形式、アプリケーション１１６に対して有効な情報、及びアプリケーション１１６の役割が構成されるものに応じて変化することができる。
【０１２４】
図８は、共有秘密情報の形式が図５に描写されたパターンなどのパターンである場合に送信することができる３つの認証要求例、即ち、要求８０２、要求８０４、及び要求８０６を示す。
【０１２５】
要求８０２は、共有秘密情報がアプリケーション１１６に提供され、且つ共有秘密情報のパラメータが変わらないシナリオにおいて、用いられてもよい。例えば、認証アプライアンス１４０は、特定の生成されたパターンを表わす情報をアプリケーション１１６に送信してもよい。そのパターンは、多くの方法で伝達することができる。例えば、１つの方法は、生成されたパターンのグラフ表示を実際に送信することだろう。そのグラフ表示は、ユーザが入力したパターンのグラフ表示と比較されることができる。別のやり方で、パターンを記号的に表わすこともあるだろう。例えば、３×３パターンボックス内の９つの座標の各々には、数字１〜９を割り当てることができる。パターンは、互いに係合する座標と順序に対応する数列として伝達されることができる。例として、左から右への座標の最上部の列に１、２、３が割り当てられる場合などは、図５に示す「Ｚ」形状パターンを表わすシーケンスは、１、２、３、５、７、８、９となるだろう。パターンは、必要とされる情報量を低減するように伝達されることができる。パターンがアプリケーション１１６と認証アプライアンス１４０との両方によって堅持される限り、パターンを参照するための何らかの規約を用いることができる。
【０１２６】
このシナリオにおいて共有秘密情報をアプリケーション１１６に提供する利点は、ユーザが入力した秘密情報を知っているということでもある。共有秘密情報とユーザが入力した秘密情報との間の比較は、認証アプライアンス１４０ではなく、クライアント側及びモバイル装置１１２上で実行することができる。例えば、アプリケーション１１６は、ユーザによって入力されたパターンのシーケンスが認証アプライアンス１４０から受信されたシーケンスと一致するか否かをチェックすることができるだろう。モバイル装置１１２は、一致又は不一致であるかを信号する認証アプライアンス１４０に対する応答を返信するだけでよいだろう。
【０１２７】
このアプローチは、また、柔軟性を犠牲にして、時間を節約するか、又は送信サイズを低減してもよい。提供された例において、認証要求は、パターンを表わす７つの数字列のみを含んでいた。従って、認証要求は、モバイル装置１１２が電気通信ネットワーク上にある場合は有利になる比較的少ないデータ量で実行することができる。但し、アプリケーション１１６と認証アプライアンス１４０との両方によって参照規約を堅持する必要があるので、パターンのパラメータのいくつかを変更するのは困難だろう。この例において、もし認証アプライアンス１４０が異なる数のストロークによりパターンを生成すれば、ＯＫだろう。認証要求のシーケンスは、単にストロークの数に対応する、異なる長さを有することができるだろう。但し、シーケンスがパターンの寸法に関して無知であるかもしれないので、認証アプライアンス１４０は、パターンの寸法を変更することができないだろう。アプリケーション１１６及び認証アプライアンス１４０は、パターンの寸法（例えば、パターンは３ｘ３ボックス内に描画される）に予め一致しなければならないだろう。
【０１２８】
要求８０４は、その認証ユーザインタフェースの対話部分を生成する際に含まれるパラメータのみがアプリケーション１１６にオプションとして提供されるシナリオにおいて用いられてもよい。但し、これらのパラメータのいくつか又はすべてが予め決定され、それらが決して変更されないようにアプリケーション１１６内に固定されてもよい、ということに留意するべきである。例えば、認証アプライアンス１４０は、アプリケーション１１６に共有秘密情報が３×３のパターンボックス内に描画された連結パターンであり、一定数のストローク（例えばパターンの長さ）を有し、タッチスクリーン上で指を引き上げずに再現することができる、という情報を送信してもよい。これらのパラメータを用いると、アプリケーション１１６は、３×３のパターンボックスを描画することを認識しており、及びパターンが描画される予想時間に基づいて応答を送信するタイミングも知っている。代替的に、アプリケーション１１６は、パラメータがアプリケーション１１６の固定された一部になり得るように、３×３のパターンボックスのみを考慮して設計されてもよい。共有秘密情報及びアプリケーション１１６の対話部分を定義するために用いられるパラメータが、すべて、このように固定される場合、要求８０４は、ユーザ識別情報が保護されたリソースにアクセスするために認証を試みているという点を除いて、情報を伝達しなくてもよい。
【０１２９】
このシナリオにおいてアプリケーション１１６を共有秘密情報に対して「盲目的」に保つ利点は、認証アプライアンス１４０とアプリケーション１１６との間の伝送の傍受から悪意のあるユーザが取得する情報を制限するため、それが強化されたセキュリティを提供する、ということである。ユーザが入力したパターンと共有秘密情報との間の比較は、認証アプライアンス１４０が単独で行う。
【０１３０】
このアプローチは、また、認証アプライアンス１４０が共有秘密情報の形式をオンザフライで変更することを可能にしてもよい。例えば、認証アプライアンス１４０は、ユーザが共有秘密情報をランダムに推測することをより困難にすることによって、フィッシング攻撃に対する防衛手段を向上させることができる。フィッシングの可能性が増加する場合、認証アプライアンス１４０は、４×４パターンなどのより複雑なパターンを生成することができてもよい。それらのパラメータを、認証ユーザインタフェースの対話部分内に４×４のパターンボックスを提示することができるアプリケーション１４０に対して送信することができるだろう。アプリケーション１１６が必要とされる異なる対話部分を生成するかもしれないこととを想定して、共有秘密情報をパターン形式などから画像形式に対して切り替えることもできるだろう。
【０１３１】
要求８０６は、共有秘密情報及び関連づけられたパラメータがアプリケーション１１６に対して送信される、２つのアプローチの間のハイブリッドとして理解することができる。アプリケーション１１６は、ユーザが入力した秘密情報のクライアント側の検証を取り扱うことができ、異なる共有秘密情報の形式を取り扱うこともできる。
【０１３２】
図９は、モバイル装置から送信されたパターンベースの認証応答の様々なコンテンツ例を例示するブロック図である。
【０１３３】
ユーザが共有されるパターンをモバイル装置１１２内に入力した後、モバイル装置１１２は、認証プロセスを完了するために認証アプライアンス１４０に対して認証応答を送信してもよい。
【０１３４】
図９は、共有秘密情報形式が図５に描写されたパターンなどのパターンである場合に送信することができる２つの例認証応答、即ち、応答９０２及び応答９０４を示す。
【０１３５】
応答９０２は、アプリケーション１１６が共有秘密情報を知っており、共有秘密情報に対してユーザが入力した秘密情報を検証する、クライアント側の検証シナリオにおいて用いることができる。アプリケーション１１６は、一致があるか否かを判定し、それから、認証アプライアンス１４０に対して結果を提供する。一致があれば、認証アプライアンス１４０は、保護されたリソース１３０に対するアクセスをコンピュータ１０２に提供することになる。
【０１３６】
応答９０４は、認証アプライアンス１４０が、生成された共有秘密情報に対してユーザが入力した秘密情報を比較する、他のすべてのシナリオにおいて用いることができる。アプリケーション１１６は、認証アプライアンス１４０によって受信される応答９０４内にユーザが入力した秘密情報のみを送信する。認証アプライアンス１４０が、生成された共有秘密情報と成功裏にユーザが入力した秘密情報とを一致させることができる場合、アクセスは、保護されたリソース１３０に対して提供される。
【０１３７】
ＩＶ．画像ベースの共有秘密情報の実装（図１０〜図１３）
図１０は、コンピューティング装置上の画像を閲覧するためのユーザインタフェース例である。
【０１３８】
コンピュータ１０２は、保護されたリソース１３０にアクセスすることができる任意のコンピューティング装置とすることができるが、図１０はコンピュータ１０２の１つの実施形態を描写する。
【０１３９】
認証アプライアンス１４０によって生成された共有秘密情報は、閲覧するユーザに提供される、共有ユーザインタフェース５００が、コンピュータ１０２のディスプレイ上に示される。図から見てとれるように、共有秘密情報は、画像１００２である。画像１００２は、文字「Ｙ」である。ユーザの電話又はモバイル装置１１２上に対応する記号を押すように、ユーザに対して命令が提供される。これは、ユーザが画像１００２を見る唯一の時である。フィッシングシナリオにおいて、共有ユーザインタフェース１０００は、実際のユーザが有していると推定されるモバイル装置１１２に関連づけられた実際のユーザではなく、盗んだ資格情報をもつ悪意のあるユーザによって見られるかもしれない。
【０１４０】
図１１は、モバイル装置上にパターンを描画することを要求するためのユーザインタフェース例である。
【０１４１】
モバイル装置１１２は、モバイル装置１１２がコンピュータ１０２と同じ装置でない場合以外は、認証プロセスのモバイル装置部分を実行することができる何らかのコンピューティング装置になり得るが、図１１は、モバイル装置１１２の実施形態を描写する。
【０１４２】
図６と同様に、モバイル装置１１２上で動作するアプリケーション１１６によって生成された認証ユーザインタフェース６００が、モバイル装置１１２のディスプレイ上に示される。認証ユーザインタフェース６００は、ユーザ識別情報「ジョン・スミス（Ｊｏｈｎ  Ｓｍｉｔｈ）」が、「保護されたリソース」に対してアクセスするように要求されて認証プロセスを開始した、ということをユーザに通知するために同じプロンプト６０２を有する。
【０１４３】
但し、ここでは、認証ユーザインタフェース６００は対話部分１１０４を有する。対話部分１１０４は、認証プロセスを完了するために正しい記号を押すようにユーザに指示する。対話部分１１０４は、複数の選択可能な画像を表示するための画像バンクを有する。特に、対話部分１１０４は、記号の９つの画像のバンクを図示する。図１０に実証されるように、ユーザは、コンピュータ１０２上に表示された共有秘密情報画像として画像の１つを選択することができる。
【０１４４】
ユーザがバンクの中央で文字「Ｙ」の画像を選択すれば、その選択された画像は、共有秘密情報画像と一致し、その結果、コンピュータ１０２上の「保護されたリソース」に対する「ジョン・スミス」がアクセスすることを許諾するだろう。
【０１４５】
図１２は、モバイル装置に対して送信された画像ベースの認証要求の様々なコンテンツ例を例示するブロック図である。
【０１４６】
認証アプライアンス１４０は、認証プロセスの間にモバイル装置１１２に対して認証要求を送信する。いくつかの場合において、認証要求は、アプリケーション１１６によって受信することができるプッシュ通知である。但し、認証要求の形式及びコンテンツは、共有秘密情報の形式、アプリケーション１１６に対して有効な情報、及びアプリケーション１１６の役割が構成されるものに応じて変化することができる。
【０１４７】
図１２は、図１１に描写されるように、共有秘密情報の形式が画像のバンク内に選択された画像である場合に送信することができる４つの認証要求例、即ち、要求１２０２、要求１２０４、要求１２０６、及び要求１２０８を示す。
【０１４８】
要求１２０２は、共有秘密情報がアプリケーション１１６に提供され、且つ共有秘密情報のパラメータが変わらないシナリオにおいて、用いられてもよい。例えば、認証アプライアンス１４０は、共有秘密情報として選択された特定の画像を表わす情報をアプリケーション１１６に送信してもよい。共有秘密情報は、多くの方法で伝達することができる。例えば、実画像を送信することができ、アプリケーション１１６は、共有秘密情報が選択されるプール内のすべての画像の画像を保持することができるであろう。そして、画像を直接的に比較することができ、選択された画像は、一致を判定するために実際の共有秘密情報の画像と比較されてもよい。別の方法は、共有秘密情報のテキストベースの表現又は記述を送信することであってもよい。例えば、画像が文字「Ｙ」である場合、要求１２０２は、共有秘密情報が「Ｙ」であることを示してもよいし、又は、画像が木の画像である場合、要求１２０２は、共有秘密情報が「木（tree）」であることを示してもよい。そして、アプリケーション１１６は、その関連づけられた画像をインタフェース内に表示するか、又はそれをインタフェース内に視覚的に生成することを認識するだろう。画像がアプリケーション１１６と認証アプライアンス１４０との両方によって堅持される限り、画像を参照するための何らかの規約を用いることができる。
【０１４９】
共有秘密情報のみが要求１２０２において送信されているので、アプリケーション１１６は、おとりを予め生成する方法を知る必要があるだろう。例えば、共有秘密情報が事前に生成されるプールの合計がアルファベット文字及び数字０〜９を含むという知識によってアプリケーション１１６を構成することができるだろう。そして、アプリケーション１１６は、もし、それが「Ｙ」以外のプール内の残りの３５の記号を用いておとりを生成するために共有秘密情報として文字「Ｙ」を受信したか否かを知るだろう。又は、画像バンクは、静的であり、インタフェース内に示されるものに対して限定されてもよい。例えば、図１１に示すように、画像の全プールは、単に記号「Ｏ」、「Ｐ」、「Ｑ」、「Ｘ」、「Ｙ」、「Ｚ」、「７」、「８」、「９」であるだろうし、共有秘密情報が有するそれらの記号の１つである。
【０１５０】
再び、アプリケーション１１６に共有秘密情報を提供する利点は、アプリケーション１１６は、ユーザ選択の画像のクライアント側の検証を実行することができるだろう、ということである。そして、アプリケーション１１６は、一致又は不一致であるかを信号する認証アプライアンス１４０に対する応答を返信するだろう。
【０１５１】
認証要求の送信サイズも、柔軟性を犠牲にして低減される。提供された例において、認証要求は、共有秘密情報が文字「Ｙ」であることをアプリケーション１１６に通知する必要があるだけでよい。アプリケーション１１６は、ユーザに対して表示される共有秘密情報とおとりとの何らかの組み合わせを生成するだろう。但し、共有秘密情報のパラメータのいくつかを変更するのは困難になるだろう。例えば、アプリケーション１１６は、共有秘密情報及びおとりが取り出される全プールを認識しなければならないだろう。まさに具体例として、もしアプリケーション１１６が句読点記号を受け入れるように事前に構成されなければ、認証アプライアンス１４０は、要求１２０２の唯一のコンテンツとしてその句読点記号を送信することができないだろう。
【０１５２】
これを要求１２０８と比較すると、画像パラメータに関する情報のみがアプリケーション１１６に対して送信されるか、又は画像パラメータがアプリケーション１１６内で事前構成される。例えば、認証アプライアンス１４０は、アプリケーション１１６に表示された画像バンクが９つの画像になるだろうという情報を送信してもよく、選択可能な画像の全プールは、１から９までの数字を含むだろう。又は、これらのパラメータを考慮して事前に構成されれば、アプリケーション１１６は、既にこの情報を知ることができる。これらのパラメータにより、アプリケーション１１６は、９つの画像を含む選択可能な画像バンク内に数字１〜９表示することを認識する。
【０１５３】
再び、このシナリオにおいてアプリケーション１１６を共有秘密情報に対して「盲目的」に保つ利点は、認証アプライアンス１４０とアプリケーション１１６との間の伝送の傍受から悪意のあるユーザが取得する情報を制限するため、それが強化されたセキュリティを提供する、ということである。アプリケーション１１６は、共有秘密情報は何なのかを知らず、認証アプライアンス１４０へ戻るユーザが選択したもののみをレポートすることができるだろう。
【０１５４】
要求１２０４及び１２０６は、共有秘密情報のみの送信又はパラメータのみの送信の間の中立の立場をとる（strike a middle ground）。
【０１５５】
要求１２０４は、画像バンク内のおとり画像と共に共有秘密情報の両方を送信する。例えば、図１１に示すインタフェースを生成すると、認証アプライアンス１４０は、「Ｙ」が共有秘密情報であることを示す、「Ｏ」、「Ｐ」、「Ｑ」、「Ｘ」、「Ｙ」、「Ｚ」、「７」、「８」、「９」を表示するようにアプリケーション１１６に指示する要求１２０４を送信するだろう。
【０１５６】
アプリケーション１１６は、ユーザが入力した秘密情報のクライアント側の検証を実行することができる。更に、アプローチは、ある程度の柔軟性を可能にする。例えば、９つよりも多いか少ない画像が送信される場合、アプリケーション１１６は、それに応じて、画像バンクのサイズを調節するように構成されてもよい。但し、認証アプライアンス１４０は、ここでは、おとりの生成の仕事を課される。
【０１５７】
要求１２０６は、画像パラメータと共に共有秘密情報を送信する。例えば、要求１２０６は、画像バンクが９つの画像を有し、「Ｙ」は共有秘密情報であり、アルファベット内の他の文字を用いてバンク内の残りの画像を生成することをアプリケーション１１６に対して示すことができるだろう。
【０１５８】
アプリケーション１１６は、ユーザが入力した秘密情報のクライアント側の検証を実行することができる。認証アプライアンス１４０が異なるパラメータを発行することができるに違いないので、このアプローチは、また、何らかの柔軟性を可能にする。例えば、要求１２０６は、より大きな画像バンクを用いるか、又はフィッシングの高い脅威がある場合、画像のより大きなプールからおとりを生成するように、アプリケーション１１６に指示してもよい。
【０１５９】
図１３は、モバイル装置から送信される画像ベースの認証応答の様々なコンテンツ例を例示するブロック図である。
【０１６０】
ユーザが共有されるパターンをモバイル装置１１２内で選択した後、モバイル装置１１２は、認証プロセスを完了するために認証アプライアンス１４０に対して認証応答を送信してもよい。
【０１６１】
図１３は、共有秘密情報の形式が画像である場合に送信することができる２つの認証応答例、即ち、応答１３０２及び応答１３０４を示す。見てとれるように、図１３は、図９と非常に似ている。
【０１６２】
応答１３０２は、アプリケーション１１６が共有秘密情報を知っており、共有秘密情報に対してユーザが入力した秘密情報を検証する、クライアント側の検証シナリオにおいて用いることができる。アプリケーション１１６は、一致があるか否かを判定するので、認証アプライアンス１４０に対して結果を提供することのみが必要である。
【０１６３】
アプリケーション１１６が「盲目的」であり、認証アプライアンス１４０に、生成された共有秘密情報に対してユーザが入力した秘密情報を比較する任務が課される場合に応答１３０２を用いることができる。アプリケーション１１６は、認証アプライアンス１４０によって受信される応答９０４内にユーザが入力した秘密情報のみを送信する。
【０１６４】
Ｖ．コンピューティングシステム例（図１４）
図１４は、実施形態を実装することができるコンピュータシステム１４００を例示するブロック図である。例えば、アプライアンスなどの本明細書で論じたいずれかのコンピューティング装置又はいずれかのクライアントコンピューティングデバイスは、コンピュータシステム１４００のコンポーネント及び／又は機能のいくつか又はすべてを含んでもよい。
【０１６５】
コンピュータシステム１４００は、バス１４０２又は情報を通信するための他の通信機構と、情報を処理するための、バス１４０２と連結されたハードウェアプロセッサ１４０４又は複数のプロセッサを含む。ハードウェアプロセッサ（複数可）１４０４は、例えば１つ以上の汎用マイクロプロセッサであってもよい。
【０１６６】
コンピュータシステム１４００は、また、プロセッサ１４０４によって実行される情報及び命令を保存するためのバス１４０２に連結された、ランダムアクセスメモリ（ＲＡＭ）、キャッシュ、及び／又は他の動的記憶装置などの記憶装置１４０６を含む。記憶装置１４０６は、また、プロセッサ１４０４によって実行される命令の実行の間に一時変数又は他の中間情報を保存するために用いられてもよい。このような命令は、プロセッサ１４０４に対してアクセス可能な記憶媒体内に格納された場合、命令内に規定された動作を実行するためにカスタマイズされる特殊用途機械内にコンピュータシステム１４００をレンダリングする。
【０１６７】
コンピュータシステム１４００は、読み取り専用メモリ（ＲＯＭ）１４０８又はプロセッサ１４０４のための静的情報及び命令を保存するための、バス１４０２に連結された他の静的記憶装置を更に含む。磁気ディスク、光ディスク、ＵＳＢメモリ（フラッシュドライブ））などの記憶装置１４１０は、情報及び命令を保存するために提供されてバス１４０２に連結される。
【０１６８】
コンピュータシステム１４００は、コンピュータユーザに対して情報を表示するために、ブラウン管（ＣＲＴ）又はＬＣＤ表示装置（又はタッチスクリーン）などのディスプレイ１４１２に対してバス１４０２を介して連結されてもよい。英数字及び他のキーを含む入力装置１４１４は、プロセッサ１４０４に対して、情報及びコマンドセレクションを通信するためにバス１４０２に連結される。別のタイプのユーザ入力デバイスは、プロセッサ１４０４に対して方向情報及びコマンドセレクションを通信し、ディスプレイ１４１２上のカーソル移動を制御するための、マウス、トラックボール、カーソル方向キーなどのカーソル制御１４１６である。この入力装置は、典型的には、装置が平面内の位置を指定することを可能にする、第１の軸（例えばｘ）及び第２の軸（例えばｙ）の２つの軸における２つの自由度を有する。いくつかの実施形態において、カーソル制御と同じ方向情報及びコマンドセレクションは、カーソルを伴わずにタッチスクリーン上のタッチの受信を介して具体化されてもよい。
【０１６９】
コンピューティングシステム１４００は、コンピューティング装置（複数可）によって実行される実行可能ソフトウェアコードとして大容量記憶装置内に格納されてもよいＧＵＩを実装するためにユーザインタフェースモジュールを含んでもよい。このモジュール及び他のモジュールは、例として、ソフトウエアコンポーネント、オブジェクト指向ソフトウエアコンポーネント、クラスコンポーネント、タスクコンポーネント、プロセス、機能、属性、手続き、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、配列、及び変数などの、コンポーネントを含んでもよい。
【０１７０】
概して、本明細書に用いられる用語「モジュール」は、ハードウェア若しくはファームウェアで具体化されたロジック、又は例えばＪａｖａ、Ｌｕａ、Ｃ若しくはＣ＋＋などのプログラミング言語で記載され、場合によって入口ポイント及び出口ポイントを有するソフトウェア命令の集合を指す。ソフトウェアモジュールは、実行可能プログラムにコンパイルされリンクされてもよいし、ダイナミックリンクライブラリ内にインストールされてもよいし、又は例えばＢＡＳＩＣ、Ｐｅｒｌ、若しくはＰｙｔｈｏｎなどの解釈されたプログラミング言語に記載されてもよい。ソフトウェアモジュールは、他のモジュール又は自身から呼出可能であってもよいし、又は検出されたイベント又は割り込みに呼応して呼び出されてもよい、ということが認識されることになる。コンピューティング装置上で実行するために構成されたソフトウェアモジュールは、コンパクトディスク、デジタルビデオディスク、フラッシュドライブ、磁気ディスク、又は他の有形の表現媒体などのコンピュータ読み取り可能媒体上に、又はデジタルダウンロードとして、提供されてもよい（及び実行前にインストール、解凍、復号化を必要とする、圧縮されているか若しくはインストール可能な形式で当初は格納されてもよい）。このようなソフトウェアコードは、コンピューティング装置による実行のために、実行するコンピューティング装置のメモリ装置上に、部分的に又は完全に格納されてもよい。ソフトウェア命令は、ＥＰＲＯＭなどのファームウェア内に埋め込まれてもよい。ハードウェアモジュールが、ゲート及びフリップフロップなどの接続される論理演算装置により構成されてもよいし、及び／又はプログラマブルゲートアレイ又はプロセッサなどのプログラミング可能装置により構成されてもよい、ということは更に認識されることになる。本明細書に記述されるモジュール又はコンピューティング装置機能は、ソフトウェアモジュールとして好ましくは実装されるが、ハードウェア又はファームウェアで表現されてもよい。概して、本明細書に記述されるモジュールは、物理編成又は物理記憶にかかわらず他のモジュールに組み合わされてもよいし、又はサブモジュール内に分割されてもよい、論理的なモジュールを指す。
【０１７１】
コンピュータシステム１４００は、特殊用途機械となるコンピュータシステム１４００をもたらす若しくはプログラミングするコンピュータシステムと組み合わせた、カスタマイズされたハードワイヤード論理、１つ以上のＡＳＩＣ又はＦＰＧＡ、ファームウェア及び／又はプログラムロジックを用いて、本明細書に記述された技術を実装してもよい。１つの実施形態によれば、本明細書に技術は、メインメモリ１４０６内に含まれる１つ以上の命令の１つ以上のシーケンスを実行するハードウェアプロセッサ（複数可）１４０４に呼応してコンピュータシステム１４００によって実行される。このような命令は、別の記憶媒体（記憶装置１４１０）からメインメモリ１４０６内に読み込まれてもよい。メインメモリ１４０６内に含まれる命令のシーケンスの実行は、プロセッサ（複数可）１４０４に、本明細書に記述された処理ステップを実行させる。代替の実施形態において、ハードワイヤード回路は、ソフトウェア命令の代わりに、又は該ソフトウェア命令と組み合わせて、用いられてもよい。
【０１７２】
本明細書で用いられる用語「非一時的なコンピュータ記憶媒体」及び同様の用語は、マシンを特定の方式で動作させるデータ及び／又は命令を格納する何らかのコンピュータ記憶媒体を指す。このような非一時的なコンピュータ記憶媒体は、不揮発性媒体及び／又は揮発性媒体を備えてもよい。不揮発性媒体は、例えば、記憶装置１４１０などの光学ディスク又は磁気ディスクを含む。揮発性媒体は、メインメモリ１４０６などのダイナミックメモリを含む。非一時的なコンピュータ記憶媒体の共通フォームは、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、任意の他の帯磁データ記憶媒体ＣＤ−ＲＯＭ、任意の他の光学データ記憶メディア、ホールのパターンによる任意の物理的媒体、ＲＡＭ、ＰＲＯＭ及びＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、ＮＶＲＡＭ、任意の他のメモリチップ又はカートリッジ、及び同様のネットワークバージョンを含む。
【０１７３】
非一時的なコンピュータ記憶媒体は、伝送媒体とは別個であるが、伝送媒体と共に用いられてもよい。伝送媒体は、非一時的なコンピュータ記憶媒体間の情報の転送に関与する。例えば、伝送媒体は、バス１４０２を備える配線を含む同軸ケーブル、銅線及び光ファイバーを含む。伝送媒体は、また、電波データ通信及び赤外線データ通信の間に生成されたものなどの音響波又は光波の形式を採用することができる。
【０１７４】
機械読み取り可能な媒体の様々な形式は、実行のためのプロセッサ１４０４に対して、１つ以上の命令の１つ以上のシーケンスを伝送することに関与する。例えば、命令は、リモートコンピュータの磁気ディスク又はソリッドステートドライブ上に最初は伝送されてもよい。リモートコンピュータは、そのダイナミックメモリ内に命令をロードし、モデム又はＷＡＮ又はＬＡＮインタフェースなどの他のネットワークインタフェースを用いて、電話線を介して命令を送信することができる。コンピュータシステム１４００に対してローカルなモデムは、電話線上のデータを受信し、データを赤外線信号に変換する赤外線送信装置を用いることができる。赤外線検出装置は、赤外線信号で伝送されたデータを受信することができ、適切な回路は、バス１４０２上にデータを配置することができる。バス１４０２は、プロセッサ１４０４が命令を検索し実行するメインメモリ１４０６に対してデータを伝送する。メインメモリ１４０６によって受信された命令は、命令を検索し実行してもよい。メインメモリ１４０６によって受信された命令は、オプションとして、プロセッサ１４０４による実行の前に又は後に、記憶装置１４１０上に格納されてもよい。
【０１７５】
コンピュータシステム１４００は、また、バス１４０２に連結された通信インタフェース１４１８を含む。通信インタフェース１４１８は、ローカルネットワーク１４２２に対して接続されるネットワークリンク１４２０に対して双方向データ通信結合を提供する。例えば、通信インタフェース１４１８は、対応するタイプの電話線に対してデータ通信接続を提供する、統合サービスデジタルネットワーク（ＩＳＤＮ）カード、ケーブルモデム、衛星モデム、又はモデムであってもよい。別の例として、通信インタフェース１４１８は、互換性のあるＬＡＮ（又はＷＡＮと通信するＷＡＮコンポーネント）に対してデータ通信接続を提供する、ローカルエリアネットワーク（ＬＡＮ）カードであってもよい。無線リンクが実装されてもよい。任意のこのような実装において、通信インタフェース１４１８は、様々なタイプの情報を表現するデジタルデータストリームを伝送する、電気信号、電磁気信号、又は光学的信号を送受信する。
【０１７６】
ネットワークリンク１４２０は、典型的には、他のデータ装置に対して、１つ以上のネットワークを通じてデータ通信を提供する。例えば、ネットワークリンク１４２０は、インターネットサービスプロバイダ（ＩＳＰ）１４２６によって動作される、ホストコンピュータ１４２４又はデータ機器に対して、ローカルネットワーク１４２２を通じて、接続を提供してもよい。ＩＳＰ１４２６は、現在概して「インターネット」１４２８と呼ばれる世界的なパケットデータ通信ネットワークを通じて、順々にデータ通信サービスを提供する。ローカルネットワーク１４２２及びインターネット１４２８は、両方とも、デジタルデータストリームを伝送する電気信号、電磁気信号、又は光学的信号を用いる。コンピュータシステム１４００間のデジタルデータを伝送するネットワークリンク１４２０上の様々なネットワーク及び信号、及び通信インタフェース１４１８を通じた信号は、伝送媒体の形式の例である。
【０１７７】
コンピュータシステム１４００は、ネットワーク（複数可）、ネットワークリンク１４２０、及び通信インタフェース１４１８を通じて、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネット例において、サーバ１４３０は、インターネット１４２８、ＩＳＰ１４２６、ローカルネットワーク１４２２、及び通信インタフェース１４１８を通じて、アプリケーションプログラムのための要求されたコードを送信してもよい。
【０１７８】
受信されたコードは、記憶装置１４１０若しくは後の実行のために他の不揮発性記憶装置に受信及び／又は保存されるとき、プロセッサ１４０４によって実行されてもよい。
【０１７９】
実装及び追加的な態様
前節で記述したプロセス、方法、及びアルゴリズムの各々は、コンピュータハードウェアを備える１つ以上のコンピュータシステム又はコンピュータプロセッサによって実行されたコードモジュールにおいて具体化されてもよいし、又は該コードモジュールによって完全に若しくは部分的に自動化されてもよい。プロセス及びアルゴリズムは、特定用途向け回路内で、部分的に又は全体として、代替的に実施されてもよい。開示したプロセスは、各々がプロセッサ及びメモリを含んでもよい１つ以上のコンピューティング装置によって実行されたソフトウェアの制御下で実行されてもよい。
【０１８０】
従って、前述のものが様々な実施形態を対象にする一方で、他の実施形態及びさらなる実施形態は、その基本的な範囲から逸脱せずに発明されてもよい。例えば、本開示の態様は、ハードウェア若しくはソフトウェア、又はハードウェアとソフトウェアとの組み合わせで実装されてもよい。本開示の実施形態は、コンピュータシステムによる利用のためにプログラムプロダクトとして実装されてもよい。プログラムプロダクトのプログラムは、（本明細書に記載された方法を含む）実施形態の機能を定義し、様々なコンピュータ読み取り可能な記憶媒体上に収納されていてもよい。例示的なコンピュータ読み取り可能な記憶媒体は、（ｉ）情報が永続的に格納される非書き込み可能記憶媒体（例えば、ＣＤ−ＲＯＭドライブによって読み取り可能なＣＤ−ＲＯＭディスク、フラッシュメモリ、ＲＯＭチップ又は任意のタイプのソリッドステート不揮発性半導体メモリなどの、コンピュータ内部の読み取り専用メモリ装置）と、（ｉｉ）変更可能な情報が格納される書き込み可能な記憶媒体（例えば、ハードディスクドライブ又は任意のタイプのソリッドステートランダムアクセス半導体メモリ）とを含むが、但し限定はされない。前節で記述したプロセス、方法、及びアルゴリズムの各々は、コンピュータハードウェアを備える１つ以上のコンピュータシステム又はコンピュータプロセッサによって実行されたコードモジュールにおいて具体化されてもよいし、又は該コードモジュールによって完全に若しくは部分的に自動化されてもよい。プロセス及びアルゴリズムは、特定用途向け回路内で、部分的に又は全体として、代替的に実施されてもよい。
【０１８１】
上記の様々な機能及びプロセスは、互いに独立して用いられてもよいし、又は様々な方法で組み合わされてもよい。すべての組み合わせ及び部分的組み合わせは、この開示の範囲内にあるように意図される。更に、ある特定の方法又は処理ブロックは、いくつかのインプリメンテーションにおいて省略されてもよい。本明細書に記述された方法及びプロセスは、また、いかなる特定のシーケンスにも限定されないし、それに関連するブロック又は状態は、適切な他のシーケンスにおいて実行されることができる。例えば、記述されたブロック又は状態は、特別に開示されたもの以外の順序で実行されてもよいし、又は、複数のブロック又は状態は、単一のブロック又は状態に組み合わされてもよい。ブロック又は状態の例は、直列に、並列に、又は他の何らかの方式で実行されてもよい。ブロック又は状態は、開示された例示的な実施形態に追加されてもよいし、又は開示された例示的な実施形態から取り除かれてもよい。本明細書に記述されたシステム及びコンポーネントの例は、記述されたものとは異なって構成されてもよい。例えば、エレメントが、開示された例示的な実施形態に対して追加されてもよいし、開示された例示的な実施形態から除去されてもよいし、又は開示された例示的な実施形態と比較して再配置されてもよい。
【０１８２】
本明細書に記述された及び／又は添付された図面に描写されたフローダイヤグラム内のいかなるプロセス記述、エレメント、又はブロックは、また、プロセスの特定の論理機能又はステップを実装するための１つ以上の実行命令を含む、モジュール、セグメント、又はコードの部分を、場合によって表現するように、理解されるべきである。代替の実装例は、本明細書に記載された実施形態の範囲内に含まれ、ここで、エレメント又は機能が、当業者によって理解され得るように、含まれる機能に応じて、実質的に同時又は逆順を含んで、図示又は論じられたものから削除され、逸脱して実行されてもよい。
【０１８３】
特に言及しない限り、又は使用される文脈内で他の意味で理解されない限り、数ある中でも「できる（can）」「できた（could）」「だろう（might）」又は「してもよい（may）」などの条件付きの言語は、ある特定の実施形態は、ある特定の機能、エレメント、及び／又はステップを含むが、その一方で他の実施形態はそれらを含まない、ということを示唆するように概して意図される。従って、そのような条件付き言語は、 これらの機能、エレメント及び／又はステップがいずれかの特定の実施形態において含まれる若しくは実行されるべきものであるか否かに関わらず、機能、エレメント及び／又はステップが１つ又は複数の実施形態に何らかの形で必要であること、又は、１つ又は複数の実施形態が必然的にユーザ入力又はプロンプトを伴うか否かを決定するロジックを含むことを、概して暗示するようには意図されない。
【０１８４】
本明細書に用いられる用語「備える（comprising）」は、排他的な解釈よりも、むしろ包括的な解釈を与えられるべきである。例えば、１つ以上のプロセッサを備える汎用コンピュータは、他のコンピュータコンポーネントを除くようには解釈されるべきでないし、場合によっては、数ある中でも、メモリ、入出力装置、及び／又はネットワークインタフェースのような、コンポーネントを含んでもよい。
【図１】
2019515366.tif 000003
【図２】
2019515366.tif 000004
【図３】
2019515366.tif 000005
【図４】
2019515366.tif 000006
【図５】
2019515366.tif 000007
【図６】
2019515366.tif 000008
【図７】
2019515366.tif 000009
【図８】
2019515366.tif 000010
【図９】
2019515366.tif 000011
【図１０】
2019515366.tif 000012
【図１１】
2019515366.tif 000013
【図１２】
2019515366.tif 000014
【図１３】
2019515366.tif 000015
【図１４】
2019515366.tif 000016
【国際調査報告】
2019515366.tif 000017
2019515366.tif 000018