(57)【特許請求の範囲】
【請求項１】
ａ．デバイスのユーザーインターフェースに、当該デバイスへのログイン情報の入力を要求するプロンプトを提示させるように構成されるログインエージェントモジュールと、
ｂ．署名付きログイン成功メッセージの受信に基づいて、暗号化された認証メッセージを送信するように構成されるセキュアユーザー認証モジュールと、
ｃ．前記ログイン情報を前記ログインエージェントモジュールから受信し、前記ログイン情報に基づいて、前記署名付きログイン成功メッセージを前記セキュアユーザー認証モジュールに送信するように構成される、オペレーティングシステムログイン認証モジュールと、
を備えるデバイス。
【請求項２】
前記セキュアユーザー認証モジュールは更に、前記署名付きログイン成功メッセージを認証することに基づいて、前記暗号化された認証メッセージを前記オペレーティングシステムログイン認証モジュールに送信するように構成される、
請求項１に記載のデバイス。
【請求項３】
前記オペレーティングシステムログイン認証モジュールは更に、前記暗号化された認証メッセージの受信及び認証に基づいて、前記デバイスへのアクセスを許可する、
請求項２に記載のデバイス。
【請求項４】
前記セキュアユーザー認証モジュールは更に、前記デバイスのファームウェアにより、前記デバイスのトラステッド・エグゼキューション・エンバイロンメント（trusted  execution  environment）にロードされるように構成される、
請求項２に記載のデバイス。
【請求項５】
前記オペレーティングシステムログイン認証モジュールからの前記署名付きログイン成功メッセージを前記セキュアユーザー認証モジュールに伝達し、前記セキュアユーザー認証モジュールからの前記暗号化された認証メッセージを前記オペレーティングシステムログイン認証モジュールに伝達するように構成されるファームウェアインターフェースモジュール、
を更に備える、請求項２に記載のデバイス。
【請求項６】
前記オペレーティングシステムログイン認証モジュールは更に、既知ユーザー情報と対照して前記ログイン情報を認証するように構成される、
請求項１に記載のデバイス。
【請求項７】
前記オペレーティングシステムログイン認証モジュールは更に、前記既知ユーザー情報を用いて秘密鍵を保護するように構成され、
前記秘密鍵は、前記ログイン情報が前記既知ユーザー情報と対照して認証された場合にアクセス可能である、
請求項６に記載のデバイス。
【請求項８】
前記オペレーティングシステムログイン認証モジュールは更に、前記秘密鍵を用いて前記署名付きログイン成功メッセージを生成するように構成される、
請求項７に記載のデバイス。
【請求項９】
前記秘密鍵は、前記デバイスのトラステッド・エグゼキューション・エンバイロンメント（trusted  execution  environment）により暗号化される、
請求項７に記載のデバイス。
【請求項１０】
少なくとも前記デバイスに関するコンテクストを判定し、当該コンテクストに基づいて、前記ログインエージェントモジュールと前記オペレーティングシステムログイン認証モジュールのうち少なくとも１つに対して、ログインポリシーを設定するように構成されるセキュアログインポリシーモジュール、
を更に備える、請求項１に記載のデバイス。
【請求項１１】
前記セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージが受信されない場合に前記デバイスをシャットダウンさせるように構成され、
前記セキュアログインポリシーモジュールは更に、前記セキュアユーザー認証モジュールが前記デバイスをシャットダウンさせる前に前記署名付きログイン成功メッセージの受信を待機する時間を設定するように構成される、
請求項１０に記載のデバイス。
【請求項１２】
リモートリソースと通信することによって前記デバイスのユーザー関連セキュリティを再構成するように構成される認証リカバリモジュール、
を更に備える、請求項１に記載のデバイス。
【請求項１３】
ａ．デバイスへのログインが要求されることを検知するステップと、
ｂ．前記デバイスがロックアウト状態であるか否かを判定するステップと、
ｃ．前記デバイスがロックアウト状態であるという判定に基づいて、ユーザー認証リカバリが要求されることを指示する通知を行い、前記デバイスをシャットダウンするステップと、
ｄ．前記デバイスがロックアウト状態でないという判定に基づいて、署名付きログイン成功メッセージの受信を待機するステップと、
を含む方法。
【請求項１４】
前記署名付きログイン成功メッセージの受信及び認証に基づいて、暗号化された認証メッセージを送信するステップ、
を更に含む、請求項１３に記載の方法。
【請求項１５】
前記デバイスにおいて、前記署名付きログイン成功メッセージの受信を待機する時間を確立する待機タイマーを開始するステップ、
を更に含む、請求項１３に記載の方法。
【請求項１６】
ａ．前記署名付きログインメッセージを受信することなく前記待機タイマーが満了することに基づき、ログイン試行が所定回数を超過したか否かを判定するステップと、
ｂ．ログイン試行が前記所定回数を超過したという判定に基づいて、前記デバイスをロックアウト状態にするステップと、
を更に含む、請求項１５に記載の方法。
【請求項１７】
少なくともデバイスを含むシステムであって、請求項１３乃至１６のいずれか一項に記載の方法を実行するように構成される、システム。
【請求項１８】
請求項１３乃至１６のいずれか一項に記載の方法を実行するように構成されるチップセット。
【請求項１９】
複数の命令を含む少なくとも１つの機械可読媒体であって、
前記複数の命令は、コンピューティングデバイス上で実行されることに応じて、当該コンピューティングデバイスに請求項１３乃至１６いずれか一項に記載の方法を実行させる、
機械可読媒体。
【請求項２０】
ハードウェアによる（hardware-enforced）アクセス保護用に構成されるデバイスであって、請求項１３乃至１６のいずれか一項に記載の方法を実行するように構成されるデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、デバイスセキュリティに関し、より詳細には、ハードウェアによる（hardware-enforced）セキュリティを用いてソフトウェアベースの保護構成を強化するシステムに関する。
【背景技術】
【０００２】
市場に登場するモバイルデバイスの種類は、例えばそのようなデバイスを多くの日常的な状況に適用可能とする機能の増加を理由に、拡大し続けている。例えば、モバイル「スマート」デバイスは単純な音声対話に加えてデータ通信を行うことができるので、従来は有線接続（例えば、インターネットに接続されたデスクトップ）を介したり、直接会ったりして処理する必要があったタスクを処理するのに便利である。このようなタスクは、モバイルデバイス上の様々なアプリケーションを用いて処理することができる。そのようなアプリケーションは、例えば、個人的又は業務上のインタラクション（Ｅメール、メッセージング等）、財務管理及び金融取引（銀行取引、電子的購買等）、連絡先管理等のデータベース機能、娯楽アプリケーション等の機能を提供するように構成される。
【０００３】
しかしながら、モバイルデバイスの利用により生み出される利便性には、特有の危険性が伴う。モバイルデバイス自体にかなりの再販価値があるので、モバイルデバイスを不法に所持したい者にとって魅力的なものになってしまう。また、モバイルデバイスには情報が保存されている。このような情報には、個人識別情報（名前、住所、電話番号、社会保障番号等）や、金融口座情報（銀行口座、クレジットカード番号等）、個人的又は業務上のネットワークへのログイン情報等が含まれ得る。このような情報は、それを用いて他人が不法に情報にアクセスしたり、不正取引を行ったり、デバイスユーザーになりすましたりできるおそれがあるという点で、実際のモバイルデバイス自体よりもはるかに価値がある場合がある。
【０００４】
既存のモバイルデバイスのセキュリティは、デバイスのオペレーティングシステム（ＯＳ）によって、或いは、ＯＳレベルの特権で動作する第三者のセキュリティアプリケーションによって提供される場合がある。一般ユーザーに対しては効果的であるものの、より上級のユーザーは、ＯＳレベルでデバイスを攻撃することにより、このような保護を回避するおそれがある。例えば、辞書攻撃によってパスワードが決定されたり、外部インターフェースを用いてデバイスメモリに無理やりアクセスすることで機密情報が取得されたり、別のＯＳをインストールすることでモバイルデバイスが再構成されたりするおそれがある。結果としてモバイルデバイスは、弱者を食いものにする犯罪者にとって、引き続き格好の標的となっている。
【図面の簡単な説明】
【０００５】
特許請求の範囲に記載の主題の様々な実施形態の特徴及び利点は、図面を参照しながら以下の詳細な説明が進むにつれて明らかになるであろう。図面中、同じ参照符号は同じ構成要素を示す。
【図１】本開示の少なくとも１つの実施形態に係る、ハードウェアによる（hardware-enforced）アクセス保護用に構成される例示的デバイスを示す図である。
【図２】本開示の少なくとも１つの実施形態に係る例示的デバイスの構成を示す図である。
【図３】本開示の少なくとも１つの実施形態に係る認証モジュールの例示的構成を示す図である。
【図４】本開示の少なくとも１つの実施形態に係る、有効化及びユーザー認証リカバリの例示的工程を示すフローチャートである。
【図５】本開示の少なくとも１つの実施形態に係る、ハードウェアによるアクセス保護の例示的工程を示すフローチャートである。  以下の詳細な説明は説明に役立つ実施形態を参照しながら進むが、当業者には多くの代替、変更及び変形が明らかとなるであろう。
【発明を実施するための形態】
【０００６】
本開示は、ハードウェアによる（hardware-enforced）アクセス保護のためのシステム及び方法を記載する。デバイスは、例えば、ログインエージェントモジュール（login  agent  module：ＬＡＭ）、オペレーティングシステムログイン認証モジュール（operating  system  login  authentication  module：ＯＳＬＡＭ）及びセキュアユーザー認証モジュール（secure  user  authentication  module：ＳＵＡＭ）を有してよい。まず、ＬＡＭは、デバイスのユーザーインターフェースによりプロンプトを提示させるように構成されてよい。プロンプトは、デバイスへのログイン情報の入力（例えば、デバイスユーザーによる）を要求してよい。ＬＡＭは更に、ログイン情報をＯＳＬＡＭに提供するように構成されてよく、ＯＳＬＡＭは、ログイン情報を認証するように構成されてよい。ログイン情報が認証された場合、ＯＳＬＡＭは更に、署名付きログイン成功メッセージをＳＵＡＭに送信するように構成されてよい。一実施形態において、ＳＵＡＭは、（例えば、ファームウェアによって）デバイスのセキュアなメモリ空間、例えばトラステッド・エグゼキューション・エンバイロンメント（trusted  execution  environment：ＴＥＥ）にロードされてよい。ＳＵＡＭは、署名付きログイン成功メッセージを認証するように構成されてよく、メッセージが認証された場合、暗号化された認証メッセージをＯＳＬＡＭに送信するように構成されてよい。ＯＳＬＡＭは更に、暗号化された認証メッセージを解読し認証するように構成されてよい。暗号化された認証メッセージが認証された場合、ＯＳＬＡＭはデバイスへのアクセスを許可してよい。
【０００７】
一実施形態において、ＯＳＬＡＭは秘密鍵を有してよく、ＳＵＡＭは公開鍵を有してよい。秘密鍵は、デバイス内の既知ユーザー情報により保護されてよい。ユーザーがデバイスにログインする（例えば、ログイン情報を入力する）とき、ログイン情報は既知ユーザー情報と比較されてよく、ログイン情報が既知ユーザー情報に対応する場合にのみ、秘密鍵へのアクセスが許可されてよい。秘密鍵は、署名付きログイン成功メッセージの生成に用いられてよく、署名付きログイン成功メッセージは、ＳＵＡＭにより公開鍵を用いて認証されてよい。同様に、暗号化された認証メッセージは、ＯＳＬＡＭにより秘密鍵を用いて解読されてよい。一実施形態において、追加的な保護を提供するために（例えば、秘密鍵が辞書攻撃（一致するまで鍵の組合わせが継続的に推測される）の結果であると判定されるのを防ぐために）、秘密鍵はＴＥＥルートにより暗号化されてよい。
【０００８】
一実施形態において、デバイスは更に、ファームウェアインターフェースモジュールを有してよい。ファームウェアインターフェースモジュールは、署名付きログイン成功メッセージをＯＳＬＡＭからＳＵＡＭに伝達し、また逆に、暗号化された認証メッセージをＳＵＡＭからＯＳＬＡＭに伝達するように構成されてよい。同じ実施形態又は異なる実施形態において、デバイスは更に、セキュアポリシーモジュール（secure  policy  module：ＳＰＭ）及び／又は認証リカバリモジュール（authentication  recovery  module：ＡＲＭ）を有してよい。ＳＰＭは、ＬＡＭ、ＯＳＬＡＭ及び／又はＳＵＡＭの動作を制御するように構成されてよい。例えばＬＡＭ及びＯＳＬＡＭの場合、ＳＰＭは、デバイスに関するコンテクスト（デバイスの場所、デバイスの状態等）を判定するように構成されてよく、コンテクストに基づいて、ＬＡＭ及び／又はＯＳＬＡＭの動作を制御するログインポリシーを設定してよい。例えば、ＳＰＭは、デバイスが「自宅」の場所にあると判定してよく、デバイスが既知の場所にあると判定される場合とは対照的に、入力を要求するログイン情報はより少なくてよい。ＳＰＭは更に、例えば、待機タイマー及び／又はログイン試行の最大回数を、ＳＵＡＭにおいて定義するように構成されてよい。待機タイマーは、ＳＵＡＭがデバイスをシャットダウンする前に署名付きログイン成功メッセージの受信をどのくらい長く待機するのかを定義してよい。一実施形態において、署名付きログイン成功メッセージが受信されることなく待機タイマーが満了した場合、ＳＵＡＭは、ログイン試行の最大回数が超過されたか否かを判定してよい。ログイン試行の最大回数が超過された場合、ＳＵＡＭは、デバイスをロックアウト状態にしてよい。ここで、ユーザー認証リカバリが実行されるまで、オペレーティングシステムへのアクセスは拒否されてよい。ＡＲＭは、デバイスがリモートリソース（例えば、ネットワーク接続を介してアクセス可能なコンピューティングデバイス）に接続された場合、ユーザー認証リカバリを実行するように構成されてよい。
【０００９】
一実施形態において、リモートリソースは、インターネットを介してアクセス可能であって、デバイスに秘密鍵を提供するように構成されるサーバーであってよい。例えば、デバイスは、起動されたとき、まず当該デバイスがリモートリソースに接続されているかを判定するように構成されてよい。それからデバイスは、秘密鍵が当該デバイスに存在するか否かを判定するように構成されてよい。デバイスがリモートリソースに接続されておらず秘密鍵が当該デバイスに存在する場合、当該デバイスにおいてハードウェアによる（hardware-enforced）アクセス保護が開始されてよい。デバイスがリモートリソースに接続されておらず秘密鍵が当該デバイスに存在しない場合、当該デバイスは、デバイスの使用前にセキュリティセットアップ（デバイスのリモートリソースへの接続を要求する）を実行しなければならないことを指示する通知を（例えば、デバイスユーザーに対して）提示してよい。デバイスがリモートリソースに接続されており当該デバイスが新しいデバイスである（例えば、秘密鍵が存在しない）場合、リモートリソースから当該デバイス（例えば、ＬＡＭ及びＯＳＬＡＭの一部又は全部）にセキュリティソフトウェアがダウンロードされてよく、リモートリソースにより秘密鍵が提供されてよい。デバイスがリモートリソースに接続されておりユーザー認証リカバリが要求される場合、リモートリソースはユーザー認証リカバリを実行してよい（例えば、個人的な質問、パスワード、キー等により、ユーザーの識別情報を確認してよい）。リモートリソースによりユーザーが認証された場合、デバイスにおける既存のセキュリティ構成はリセットされてよく、リモートリソースからデバイスに新しい秘密鍵が提供されてよい。
【００１０】
図１は、本開示の少なくとも１つの実施形態に係る、ハードウェアによる（hardware-enforced）アクセス保護用に構成される例示的デバイス１００を示す。デバイス１００の例としては、モバイル通信デバイス（Android（登録商標）オペレーティングシステム（ＯＳ）、iOS（登録商標）、Blackberry（登録商標）ＯＳ、Palm（登録商標）ＯＳ、Symbian（登録商標）ＯＳ等に基づく携帯電話、スマートフォン等）、モバイルコンピューティングデバイス（例えば、iPad（登録商標）、Galaxy  Tab（登録商標）、Kindle  Fire（登録商標）等のタブレットコンピューター）、インテル株式会社製の低電力チップセットを有するUltrabook（登録商標）、ネットブック、ノートパソコン、ラップトップコンピューター、一般に据え置き型のコンピューティングデバイス（デスクトップコンピューター等）が挙げられる。デバイス１００は、例えば、デバイス１００の各種モジュールが動作可能な少なくとも２種類の実行環境を含んでよい。低特権環境１０２は、例えば、デバイス１００のオペレーティングシステム（ＯＳ）であってよい。低特権環境１０２において動作するモジュールは「測定」（例えば、それらのコードのハッシュに基づいて検証され、信頼性を判定）されないので、制限なく書込み、実行、変更等が行われてよい。高特権モジュール１０４は、例えば、デバイス１００のトラステッド・エグゼキューション・エンバイロンメント（ＴＥＥ）であってよい。高特権環境１０４は、モジュールが動作可能な、暗号的に保護された実行環境を提供してよい。また、該実行環境は、外的影響による潜在的な干渉又は介入から隔離される。結果として、ハードウェア管理、エミュレーション、デバッグ、セキュリティ等のシステムに不可欠な機能は、一般に高特権環境１０４において実行される。
【００１１】
一実施形態において、デバイス１００の低特権環境１０２（例えば、デバイス１００のＯＳ）は、少なくともＬＡＭ１０６及びＯＳＬＡＭ１０８を含んでよい。ＬＡＭ１０６は、ログイン情報を（例えば、デバイス１００のユーザーから）取得するように構成されてよい。例えば、ＬＡＭ１０６はプロンプトをデバイス１００のユーザーインターフェース（例えば表示部）により表示させて、デバイス１００へのログイン情報の入力（例えば、デバイス１００のタッチスクリーン、キーパッド等を介して）を要求してよい。ログイン情報はＯＳＬＡＭ１０８に渡されてよく、ＯＳＬＡＭ１０８は、当該ログイン情報を認証するように構成されてよい。例えば、ＯＳＬＡＭ１０８は、ＬＡＭ１０６から受信したログイン情報がデバイス１００の既知ユーザー情報に対応するか否かを判定してよい。ログイン情報が認証された場合、ＯＳＬＡＭは署名付きログイン成功メッセージを生成してよい。例えば、署名付きログイン成功メッセージは、ＯＳＬＡＭ１０８の秘密鍵を用いて署名されてよい。一実施形態において、低特権環境１０２は更に、ファームウェアインターフェースモジュール（firmware  interface  module：ＦＩＭ）１１０を含んでよい。ＦＩＭ１１０は、ＯＳＬＡＭ１０８と高特権実行環境１０４に含まれるＳＵＡＭ１１２とのインタラクションを促進するように構成されてよい。例えば、署名付きログイン成功メッセージは、ＯＳＬＡＭ１０８からＦＩＭ１１０に、そしてＦＩＭ１１０からＳＵＡＭ１１２に送信されてよい。ＦＩＭ１１０の機能はＯＳＬＡＭ１０８に組み込まれてもよいので、図１ではＦＩＭ１１０を任意のものとして示した。
【００１２】
ＳＵＡＭ１１２は、高特権環境１０４にロードされてよい。例えば、ＳＵＡＭ１１２は、有効化の際にデバイス１００のファームウェアからデバイス１００にロードされてよい。ロード中、デバイス１００のハードウェアにより、ＳＵＡＭ１１２のプログラムコードのハッシュ値がＳＵＡＭ１１２の既知の良好なハッシュ値と比較されてよいという点で、ＳＵＡＭ１１２は「測定」されてもよい。プログラムコードのハッシュが既知の良好なハッシュ値と一致した場合、コードのロードが許可されてよい。ＳＵＡＭ１１２は、署名付きログイン成功メッセージの受信に基づいて、デバイス１００へのアクセスを制御するように構成されてよい。例えば、署名付きログイン成功メッセージが受信された場合、ＳＵＡＭ１１２は当該メッセージを（例えば公開鍵を用いて）認証してよい。署名付きログイン成功メッセージが認証された場合、ＳＵＡＭ１１２は、暗号化された認証メッセージをＯＳＬＡＭ１０８に（例えばＦＩＭ１１０を介して）送信してよく、こうして、ＯＳＬＡＭ１０８にデバイス１００をロック解除させてよい（例えば、デバイス１００へのアクセスを許可するために）。署名付きログイン成功メッセージが受信されない場合、又は、受信された署名付きログイン成功メッセージが認証できない場合、ＳＵＡＭ１１２はデバイスをシャットダウンさせてよい。一部の例では、ＳＵＡＭ１１２は、ユーザー認証リカバリを要求するロックアウト状態にデバイスを移行させてもよい。
【００１３】
図２は、本開示の少なくとも１つの実施形態に係るデバイス１００’の例示的構成を示す図である。デバイス１００’は、例えばシステムモジュール２００を有してよい。システムモジュール２００は、デバイス１００’の通常動作を管理するように構成されてよい。システムモジュール２００は、例えば、処理モジュール２０２、メモリモジュール２０４、電力モジュール２０６、ユーザーインターフェースモジュール２０８及び通信インターフェースモジュール２１０を有してよい。通信インターフェースモジュール２１０は、通信モジュール２１２とインタラクションを行うように構成されてよい。更に、認証モジュール２１４は、少なくとも通信モジュール２１２及びユーザーインターフェースモジュール２０８とインタラクションを行うように構成されてよい。図２では、通信モジュール２１２及び認証モジュール２１４がシステムモジュール２００とは別に構成されているが、これは本明細書での説明のために過ぎない。モジュール２１２及び２１４に関連する機能の一部又は全部は、システムモジュール２００に含まれてもよい。
【００１４】
デバイス１００’において、処理モジュール２０２は、別々のコンポーネントに位置する１又は複数のプロセッサを有してよく、或いは、単一のコンポーネント（例えば、システム・オン・チップ（ＳｏＣ）構成における）として具現化される１又は複数の処理コアと、任意のプロセッサ関連補助回路（ブリッジインターフェース等）とを有してよい。プロセッサの例としては、Pentium（登録商標）、Xeon（登録商標）、Itanium（登録商標）、Celeron（登録商標）、Atom（登録商標）、Core（登録商標）ｉシリーズの製品群に含まれるような、インテル株式会社から入手可能な各種ｘ８６系マイクロプロセッサが挙げられる。補助回路の例としては、処理モジュール２０２がモバイルデバイス１０４’で異なる速度や異なるバス等で動作する他のシステム構成要素とインタラクションを行うことができるインターフェースを提供するように構成されるチップセット（例えば、インテル株式会社から入手可能なノースブリッジ、サウスブリッジ等）が挙げられる。一般に補助回路と関連付けられる機能の一部又は全部は、プロセッサ（例えば、インテル株式会社から入手可能なSandy  Bridge集積回路のようなＳｏＣパッケージ）等の同じ物理的パッケージに含まれてもよい。一実施形態において、処理モジュール２０２は、単一のハードウェアプラットフォーム上で複数の仮想マシン（ＶＭ）を実行可能とする仮想化技術（例えば、インテル株式会社から入手可能な一部のプロセッサ及びチップセットにおいて利用可能なＶＴ−ｘ技術）を備えてよい。例えば、ＶＴ−ｘ技術では、ＳＵＡＭ１１２をデバイス１００のファームウェアからロードすることに関して上述したように、ソフトウェアベースの保護を強化するように構成されたトラステッド・エグゼキューション・テクノロジー（trusted  execution  technology：ＴＸＴ）を、ハードウェアによる（hardware-enforced）メジャード・ローンチド・エンバイロンメント（Measured  Launched  Environment：ＭＬＥ）と組み合わせることもできる。
【００１５】
処理モジュール２０２は、デバイス１００’の命令を実行するように構成されてよい。命令には、処理モジュール２０２にデータ読出し、データ書込み、データ処理、データ構築、データ変換、データ媒体変換等に関する作業を実行させるように構成されるプログラムコードが含まれてよい。情報（命令、データ等）は、メモリモジュール２０４に格納されてよい。メモリモジュール２０４は、固定様式又はリムーバブル様式のランダムアクセスメモリ（ＲＡＭ）又はリードオンリーメモリ（ＲＯＭ）を有してよい。ＲＡＭには、スタティックＲＡＭ（ＳＲＡＭ）やダイナミックＲＡＭ（ＤＲＡＭ）等の、サイネージコントローラ１０６’の動作中に情報を保持するように構成されるメモリが含まれてよい。ＲＯＭには、デバイス１００’の有効化時に命令を提供するように構成されるバイオス（Basic  Input/Output  System：ＢＩＯＳ）メモリ等のメモリや、ＥＰＲＯＭ（electronic  programmable  ROM）等のプログラマブルメモリ、フラッシュメモリ等が含まれてよい。他の固定型及び／又はリムーバブルのメモリには、例えば、フロッピー（登録商標）ディスクやハードドライブ等の磁気メモリ、ソリッドステートフラッシュメモリ（例えばeMMC（登録商標））等の電子メモリ、着脱可能なメモリカード又はメモリスティック（microSD（登録商標）、USB（登録商標）等）、ＣＤ−ＲＯＭ（compact  disc-ROM）等の光学メモリが含まれてよい。電力モジュール２０６は、内部電源（例えば電池）及び／又は外部電源（電気機械発電機、太陽発電機、送電網等）と、デバイス１００’に動作に必要な電力を供給するように構成される関連回路とを有してよい。
【００１６】
ユーザーインターフェースモジュール２０８は、ユーザーがデバイス１００’、例えば、各種入力機構（例えば、マイク、スイッチ、ボタン、ノブ、キーボード、スピーカー、タッチセンサー式サーフェス、画像をキャプチャしたり近接、距離、動き、ジェスチャー等を感知したりするように構成される１又は複数のセンサー）及び出力機構（例えば、スピーカー、表示部、点灯／点滅指示器、振動や動き等のための電気機械構成要素）とインタラクションを行うことを可能にする回路を有してよい。通信インターフェースモジュール２１０は、パケットルーティング等の通信モジュール２１２に関する制御機能を処理するように構成されてよく、有線通信及び／又は無線通信をサポートするように構成されるリソースを有してよい。有線通信には、シリアル有線媒体及びパラレル有線媒体、例えば、Ethernet（登録商標）、USB（登録商標）、Firewire（登録商標）、デジタル・ビジュアル・インターフェース（ＤＶＩ）、HDMI（登録商標）（高精細度マルチメディアインターフェース、High-Definition  Multimedia  Interface）等が含まれてよい。無線通信には、例えば、近接無線媒体（例えば、近距離無線通信（Near  Field  Communication：ＮＦＣ）規格に基づくような無線周波数（ＲＦ）、赤外線（ＩＲ）、光学式文字認識（optical  character  recognition：ＯＣＲ）、磁気的文字検出（magnetic  character  sensing）等）、短距離無線媒体（Bluetooth（登録商標）、WLAN、Wi-Fi等）、長距離無線媒体（セルラー方式、衛星方式等）が含まれてよい。一実施形態において、通信インターフェースモジュール２１０は、通信モジュール２１２においてアクティブな無線通信が互いに干渉するのを防止するように構成されてよい。この機能を実行する際、通信インターフェースモジュール２１０は、例えば送信待機中メッセージの相対的な優先度に基づいて、通信モジュール２１２の活動をスケジュールしてよい。
【００１７】
認証モジュール２１４は、図１に示したＬＡＭ１０６、ＯＳＬＡＭ１０８、ＦＩＭ１１０及びＳＵＡＭ１１２に関する工程の一部又は全部を扱うように構成されてよい。このために、認証モジュール２１４は、通信モジュール２１２及び／又はユーザーインターフェースモジュール２０８とインタラクションを行ってよい。図３に、インタラクションの例を説明するための認証モジュール２１４の例示的構成を示す（例えば、認証モジュール２１４’として）。認証モジュール２１４’は、上述したようにＬＡＭ１０６、ＯＳＬＡＭ１０８及びＳＵＡＭ１１２を有してよい。ＬＡＭ１０６は、ユーザーインターフェースモジュール２０８とインタラクションを行って、ログイン情報（ＬＩ）を取得してよい（例えば、ユーザーにログイン情報の入力を促し、ユーザーにより入力されるログイン情報を取得するために）。それから、ＬＩはＯＳＬＡＭに提供されてよい。ＯＳＬＡＭはＬＩを認証し、認証された場合、署名付きログイン成功メッセージ（ＳＬＳＭ）をＳＵＡＭ１１２に送信してよい。それからＳＵＡＭ１１２はＳＬＳＭを認証し、認証された場合、暗号化された認証メッセージ（encrypted  authentication  message：ＥＡＭ）をＯＳＬＡＭ１０８に返送してよい。そして、ＯＳＬＡＭ１０８は、デバイス１００をロック解除（例えば、デバイス１００へのアクセスを許可）してよい。
【００１８】
一実施形態において、認証モジュール２１４’はまた、セキュアログインポリシーモジュール（ＳＬＰＭ）３００及び認証リカバリモジュール（ＡＲＭ）３０２を有してよい。ＳＬＰＭ３００は、ＬＡＭ１０６、ＯＳＬＡＭ１０８及び／又はＳＵＡＭ１１２を制御するように構成されてよい。例えば、ＳＬＰＭ３００は、コンテクストに基づいてＬＡＭ１０６とＯＳＬＡＭ１０８の一方又は両方に関するログインポリシーを確立することにより、ＬＡＭ１０６及び／又はＯＳＬＡＭ１０８を制御するように構成されてよい。コンテクストは、本明細書において、例えばデバイス１００’の状態、デバイス１００’が動作している環境等に関連してよい。例えば、ＳＬＰＭ３００は、デバイス１００’が安全な場所（例えば既知のユーザーの自宅、車、職場等）にあるときを判定するように構成されてよい。ＳＬＰＭ３００は、例えば、通信モジュール２１２から位置情報（全地球測位システム（Global  Positioning  System：ＧＰＳ）座標、デバイス１００’により検出される短距離ネットワークの識別情報等）を取得することによって、場所を判定してよい。既知の場所では、デバイス１００’へのアクセスに必要となるログイン情報は少なくてよい（例えば、パスワード、又は単純なパターンのタッチスクリーンインタラクションが要求されてよい）。或いは、位置情報により、デバイスが未知又は公共の場所（公共交通機関、空港や駅、レストラン等）にあることが示されてよい。この場合、セキュリティポリシーは、より包括的なログイン情報（ユーザー名及びパスワード、個人識別チャレンジクエスチョンへの回答、指紋や網膜スキャンといった生体認証等）を要求してよい。コンテクストは、デバイス１００の状態に適用されてもよい。例えば、デバイス１００がシャットダウンされ再起動された場合（例えば、通常のシャットダウンによって、又は電池の取り外しによって）や、セキュリティに関する構成が変更された後に再起動された場合（ユーザーの個人識別情報が変更された場合、セキュリティソフトウェアが無効化された場合等）等である。このようなコンテクストでは、デバイス１００’が危険に晒されていることを確認するために、ログインポリシーによってより包括的なログイン情報が要求されてよい。セキュリティポリシーは、要求するログイン情報の種類及び／又は量に基づいて、ログイン情報を要求するプロンプトを変更することによって、ＬＡＭ１０６の動作を制御してよく、且つ／又は、既知ユーザー情報と対照してログイン情報が認証される方法で、ＯＳＬＡＭ１０８を制御してよい。
【００１９】
ＳＬＰＭ３００はまた、ＳＵＡＭ１１２の動作を制御するように構成されてよい。例えば、ＳＬＰＭ３００は待機時間を判定してよく、且つ／又は、ＳＵＡＭ１１２がデバイス１００’をシャットダウンする前にＳＬＳＭの受信を待機する時間を制御する待機タイマーを開始してよい。例えば、ＳＬＰＭ３００は２分間の待機タイマーを設定してよく、デバイス１００’にログインするユーザーに対してプロンプトが最初に表示された後に、当該待機タイマーを開始してよい。ＳＵＡＭ１１２が待機タイマーとインタラクションを行う方法は、デバイス１００’の具体的な構成によって異なってよい。例えば、待機時間は短くてよく、ＳＵＡＭ１１２がＳＬＳＭを受信するものの当該ＳＬＳＭを認証しない場合に毎回リセットされてよい。或いは、待機タイマーは長く設定されてよく、ＳＬＳＭがＳＵＡＭ１１２を受信し且つ認証するまで継続してよい。ＳＬＳＭがＳＵＡＭ１１２に受信されない場合、又は、ＳＬＳＭが受信はされたが認証されない場合、ＳＵＡＭ１１２はデバイス１００’をシャットダウンしてよい。一実施形態において、ＳＬＰＭ３００は、デバイスにおいて許容されるログイン試行回数を設定してもよい。ログイン試行回数を制限することにより、例えば辞書攻撃を試みている者のパスワードを推測する能力を即座に制限できるという点で、セキュリティレベルを高めることができる。ログイン試行回数は、デバイス１００’をシャットダウンする前にＳＵＡＭ１１２によって確認されてよい。ログイン試行回数が超過された場合、ＳＵＡＭ１１２は、デバイス１００’をロックアウト状態にしてよい。ロックアウト状態は、デバイス１００’が再びアクセス可能となる前に、ユーザー認証リカバリを要求する。
【００２０】
一実施形態において、セキュリティ情報が紛失されたか又は忘れられた場合、或いはデバイス１００’がロックアウト状態に置かれた場合、ＡＲＭ３０２はユーザー認証リカバリを提供するように構成されてよい。ユーザー認証リカバリを実行するとき、ＡＲＭ３０２は、通信モジュール２１２を用いて、ネットワーク（例えばインターネット）を介してアクセス可能なコンピューティングデバイス（例えばサーバー）等のリモートリソースとインタラクションを行ってよい。一実施形態において、ユーザー認証リカバリはリモートリソースによって指揮されてよい。ここで、ユーザーＩＤは、ユーザー名とパスワード、チャレンジクエスチョン、生体認証データ等によって検証されてよい。ユーザーのＩＤが検証されると、デバイス１００’のセキュリティ構成はリモートリソースによってリセットされてよい。
【００２１】
図４は、本開示の少なくとも１つの実施形態に係る、有効化及びユーザー認証リカバリの例示的工程を示すフローチャートである。デバイスのセキュリティを維持することができる少なくとも１つの方法は、セキュリティ構成へのアクセスを改ざんから保護することである。一実施形態において、ソフトウェアベースセキュリティとハードウェアベースセキュリティは、暗号化された認証メッセージを交換してよい。更にハードウェアベースセキュリティをファームウェアに配置するために、ソフトウェアベースセキュリティのインストール及び構成は、セキュアなリモートリソースによって制御されてよい。このようにして、デバイスセキュリティを回避する従来の方法を妨害してよい。例えば、本開示に従う方法で保護されるデバイスが入手されて、デバイスメモリを消去し新しいオペレーティングシステムをインストールすることにより、ソフトウェアベースセキュリティの特徴の迂回が企てられる場合がある。しかしながら、リモートリソースによってソフトウェアベースセキュリティ（例えば、ＬＡＭ１０６、ＯＳＬＡＭ１０８及びＯＳＬＡＭ１０８により用いられる秘密鍵の一部又は全部）をインストールすることができるので、新しいオペレーティングシステムがハードウェアベースセキュリティの求めるメッセージングを提供することはない。よって、ユーザー認証リカバリが実行されてセキュリティがリセットされるまでデバイスはパワーダウンを継続し、場合によっては、ロックアウト状態となる。
【００２２】
工程４００において、デバイスが起動されてよい。デバイスの起動には、一般に、パワーダウン状態のデバイスのスイッチを入れることや電源を入れること、パワーダウン状態のデバイスをブートすること、デバイスをパワーダウン状態からリブートすることや再起動すること等が含まれてよい。デバイスが起動されると、工程４０２において、当該デバイスがリモートリソースに接続しているか否かが判定されてよい。例えば、デバイスが有線接続又は無線接続を介してインターネットに接続されているか否かが判定されてよく、更に、有線接続又は無線接続を用いてコンピューティングデバイス（例えばサーバー）とコンタクト可能であるか否かが判定されてよい。工程４０２でデバイスがリモートリソースと接続されていないと判定された場合、工程４０４において、当該デバイスにおいて秘密鍵が既に確立されているか否かが更に判定されてよい。例えば、デバイスが未使用である（例えば、最近購入された）場合や、ＯＳが上書きされた（例えば、誰かがハードウェアの再利用を試みている）場合等では、デバイスに秘密鍵が存在しない可能性がある。工程４０４でデバイスにおいて秘密鍵が確立されていないと判定された場合、工程４０６において、デバイスをリモートリソースに接続してセキュリティをセットアップする必要があることを知らせる通知が、当該デバイスによって提示されてよい（例えば、当該デバイスのユーザーインターフェースに表示されてよい）。工程４０８において、デバイスはシャットダウンされてよく、更に任意に、例えばデバイスが再び有効化される場合は、工程４００に戻ってよい。秘密鍵が存在すると判定された場合、工程４１０において、デバイスにおいてハードウェアによるアクセス保護が有効化されてよい（図５に例を示す）。
【００２３】
工程４０２でデバイスがリモートリソースに接続されていると判定された場合、工程４１２において、当該デバイスの有効化（例えば、セキュリティセットアップの要求）が初回であるか否かが更に判定されてよい。この判定は、デバイスにおいて秘密鍵が確立されているか否かや、デバイスに関するシリアルナンバーがリモートリソースに登録されたとして記録されているか否か等の様々な因子に基づいてなされてよい。工程４１２でデバイスの有効化が初回であると判定された場合、工程４１４において、ユーザー情報の質問を実行して、デバイスの所有者についての情報（デバイス所有者登録、保証書、ユーザー認証リカバリでの後の使用等について）を取得してよく、また、リモートリソースから当該デバイスにセキュリティソフトウェアがダウンロードされてよい。一実施形態において、セキュリティソフトウェアには、少なくともＬＡＭ及びＯＳＬＡＭのうち一部又は全部が含まれてよい。それから工程４１６においてリモートリソースからデバイスに秘密鍵が提供されてよく、工程４１０においてハードウェアによるアクセス保護が有効化されてよい。
【００２４】
工程４１２でデバイスの有効化が初回でないと判定された場合、工程４１８においてユーザー認証リカバリが有効化されてよい。例えば、デバイスユーザーにユーザー名及びパスワード情報の提供を要求してもよく、初回の有効化中に提供された情報に基づくチャレンジクエスチョンへの回答を要求してもよく、生体認証情報の提供を要求してもよい。それから、工程４２０において、ユーザー認証がリカバリされたか否か（例えば、ユーザーがデバイスの既知のユーザーとして確認されたか否か）が判定されてよい。工程４２０でユーザー認証がリカバリされないと判定された場合、工程４１０において、デバイスを不正アクセスから保護するためにハードウェアによるアクセス保護を開始してよい。ユーザー認証がリカバリされた場合、工程４２２においてデバイスのセキュリティがリセットされてよく（例えば、新しいパスワードが設定されてよく、既存の秘密鍵が削除されてよい）、工程４１６においてリモートリソースによりデバイスに秘密鍵が提供されてよい。工程４１０において、デバイスにおいてハードウェアによるアクセス保護が有効化されてよい。
【００２５】
図５は、本開示の少なくとも１つの実施形態に係る、ハードウェアによるアクセス保護の例示的工程を示すフローチャートである。図５に示す工程は、デバイスのＳＵＡＭの観点からのものである。工程５００において、ユーザーによるデバイスへのログインを要求する状況が検知されてよい。例えば、デバイスがパワーダウンされ再有効化された場合であってもよいし、デバイスにおいてセキュリティ構成が変更された場合であってもよいし、デバイス及び／又は環境のコンテクストが変更されログインポリシーによりログインが命令される場合であってもよい。それから工程５０２において、デバイスがロックアウト状態であるか否かが判定されてよい。工程５０２でデバイスがロックアウト状態であると判定された場合、工程５０４において、デバイスが再びアクセスされる前にユーザー認証リカバリの実行が必要であることを指示する通知が提示されてよい（例えば、デバイスのユーザーインターフェースに表示されてよい）。その後、アクセスが拒否されてよく（例えば、デバイスがシャットダウンされてよい）、デバイスは任意に工程５００に戻ってよく、工程５００においてログインを要求する状況が検知されてよい。
【００２６】
工程５０２でデバイスがロックアウト状態でないと判定された場合、工程５０８において待機タイマーが開始されてよい。工程５１０において、ＳＬＳＭが受信されたか否かが判定されてよい。工程５１０でＳＬＳＭが受信されたと判定された場合、工程５１２において、受信されたＳＬＳＭが認証可能であるか否かが更に判定されてよい。工程５１２でＳＬＳＭが認証されたと判定された場合、工程５１４において、暗号化された認証メッセージが送信されてよい。その後、デバイスは任意に、工程５００におけるログインを要求する状況の検知に戻ってよい。工程５１２で署名付きログイン成功メッセージが認証不可能である場合、工程５０８において待機タイマーが再開されてよく、ＳＵＡＭは、工程５１０及び工程５１６においてＳＬＳＭの受信の待機を継続してよい。工程５１６において、ＳＬＳＭを受信することなく待機タイマーが満了したと判定された場合、工程５１８において、デバイスにおいてログイン試行が所定数を満たしたか或いは超過したか否かが更に判定されてよい。工程５１８でログイン試行回数が所定数を満たしたか或いは超過したと判定された場合、工程５２０においてデバイスがロックアウト状態にされてよく、工程５０４においてロックアウト状態の通知が再提示されてよい。工程５１８でログイン試行回数が所定数を満たさなかったと判定された場合、工程５０６においてアクセスが拒否されてよく（例えば、デバイスがシャットダウンされてよい）、その後、任意に工程５００に戻ってログイン状況を再検知してよい。
【００２７】
図４及び図５では異なる実施形態に係る様々な工程を示したが、当然ながら、他の実施形態では図４及び図５に示す工程が全て必要であるわけではない。実際、本明細書で十分に考慮されているように、本開示の他の実施形態では、図４及び図５に示す工程並びに／又は本明細書に記載の他の工程が、どの図面にも特に示されていないが本開示に十分に従う方法で組み合わされてよい。よって、厳密には特定の図面に示されていない特徴及び／又は工程を対象とする請求項は、本開示の範囲及び内容に包含されるものとみなされる。
【００２８】
本明細書に記載の実施形態で用いられる場合、「モジュール」という用語は、上述の工程のうち任意のものを実行するように構成されるソフトウェア、ファームウェア及び／又は回路を意味し得る。ソフトウェアは、非一時的なコンピューター可読記憶媒体に記録されるソフトウェアパッケージ、コード、命令、命令セット及び／又はデータとして具現化されてよい。ファームウェアは、メモリデバイスにおいてハードコードされる（例えば、不揮発性の）コード、命令若しくは命令セット、及び／又はデータとして具現化されてよい。「回路」は、本明細書に記載の実施形態で用いられる場合、例えば、ハードワイヤード回路、１又は複数の個別の命令処理コアを含むコンピュータープロセッサ等のプログラマブル回路、状態機械回路、及び／又はプログラマブル回路により実行される命令を格納するファームウェアを、単一又は任意の組合わせで有してよい。モジュールは、集合的に又は個別に、大きなシステム（集積回路（ＩＣ）、システム・オン・チップ（ＳｏＣ）、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、サーバー、スマートフォン等）の一部を成す回路として具現化されてよい。
【００２９】
本明細書に記載の工程のうち任意のものは、１又は複数のプロセッサにより実行された場合に本方法を実行する命令を個別又は組み合わせで格納する１又は複数の記憶媒体を有するシステムにおいて実施されてよい。プロセッサの例としては、サーバーＣＰＵ、モバイルデバイスＣＰＵ及び／又は他のプログラマブル回路が挙げられる。また、本明細書に記載の工程は、１以上の異なる物理的場所に存在する処理構造等の、複数の物理的デバイスに分散されてよい。記憶媒体の例としては、任意の種類の有形媒体が挙げられる。例えば、任意の種類のディスク（ハードディスク、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ（compact  disk  read-only  memory）、ＣＤ−ＲＷ（compact  disk  rewritable）、光磁気ディスク等）、半導体デバイス（ＲＯＭ、ダイナミックＲＡＭやスタティックＲＡＭ等のランダムアクセスメモリ（random  access  memory：ＲＡＭ）、ＥＰＲＯＭ（erasable  programmable  read-only  memory）、ＥＥＰＲＯＭ（electrically  erasable  programmable  read-only  memory）、フラッシュメモリ、ソリッドステートディスク（ＳＳＤ）、eMMC（登録商標）等）、ＳＤＩＯ（secure  digital  input/output）カード、磁気カード、光学カードといった、電子的命令の格納に適する任意の種類の媒体が挙げられる。他の実施形態は、プログラマブル制御デバイスにより実行されるソフトウェアモジュールとして実施されてよい。
【００３０】
このように、本開示は、ハードウェアによるアクセス保護に関するシステム及び方法を対象とする。例示的デバイスは、ログインエージェントモジュール（ＬＡＭ）、オペレーティングシステムログイン認証モジュール（ＯＳＬＡＭ）及びセキュアユーザー認証モジュール（ＳＵＡＭ）を有してよい。ＬＡＭは、ログイン情報を要求するプロンプトをデバイスにより提示させるように構成されてよい。そして、ＬＡＭはログイン情報をＯＳＬＡＭに提供してよい。ＯＳＬＡＭは、既知ユーザー情報を用いてログイン情報を認証するように構成されてよい。ログイン情報が認証された場合、ＯＳＬＡＭは秘密鍵を用いて署名付きログイン成功メッセージを生成し、当該署名付きログイン成功メッセージをＳＵＡＭに送信してよい。ＳＵＡＭは、デバイスファームウェアによりロードされるセキュアな／信頼できる（trusted）ソフトウェアであってよく、署名付きログイン成功メッセージを認証するように構成されてよい。署名付きログイン成功メッセージが認証された場合、ＳＵＡＭは暗号化された認証メッセージをＯＳＬＡＭに送信してよい。暗号化された認証メッセージが認証された場合、ＯＳＬＡＭはデバイスへのアクセスを許可してよい。
【００３１】
以下の例は、更なる実施形態に関する。例示的な一実施形態において、デバイスが提供される。該デバイスは、ログインエージェントモジュール、セキュアユーザー認証モジュール及びオペレーティングシステムログイン認証モジュールを有してよい。ログインエージェントモジュールは、デバイスに入力されるべきログイン情報を要求するプロンプトを、デバイスのユーザーインターフェースにより提示させるように構成される。セキュアユーザー認証モジュールは、署名付きログイン成功メッセージの受信に基づいて、暗号化された認証メッセージを送信するように構成される。オペレーティングシステムログイン認証モジュールは、ログイン情報をログインエージェントモジュールから受信し、当該ログイン情報に基づいて、署名付きログイン成功メッセージをセキュアユーザー認証モジュールに送信するように構成される。
【００３２】
上記の例示的デバイスは、更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージを認証することに基づいて、暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに送信するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、暗号化された認証メッセージの受信及び認証に基づいて、デバイスへのアクセスを許可するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、デバイスのファームウェアにより、デバイスのトラステッド・エグゼキューション・エンバイロンメントにロードされるように構成されてよい。この構成において、例示的デバイスは更に、ファームウェアインターフェースモジュールを有してよい。ファームウェアインターフェースモジュールは、オペレーティングシステムログイン認証モジュールからの署名付きログイン成功メッセージをセキュアユーザー認証モジュールに伝達し、セキュアユーザー認証モジュールからの暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに伝達するように構成されてよい。
【００３３】
上記の例示的デバイスは、更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、既知ユーザー情報と対照してログイン情報を認証するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、既知ユーザー情報を用いて秘密鍵を保護する（secure）ように構成されてよい。当該秘密鍵は、ログイン情報が既知ユーザー情報と対照して認証された場合にアクセス可能である。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、秘密鍵を用いて署名付きログイン成功メッセージを生成するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、秘密鍵は、デバイスのトラステッド・エグゼキューション・エンバイロンメントにより暗号化されてよい。
【００３４】
上記の例示的デバイスは更に、セキュアログインポリシーモジュールを有してよい。セキュアログインポリシーモジュールは、少なくともデバイスに関するコンテクストを判定し、当該コンテクストに基づいて、ログインエージェントモジュールとオペレーティングシステムログイン認証モジュールのうち少なくとも１つに対して、ログインポリシーを設定するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージが受信されない場合にデバイスをシャットダウンさせるように構成されてよい。また、セキュアログインポリシーモジュールは更に、セキュアユーザー認証モジュールがデバイスをシャットダウンさせる前に署名付きログイン成功メッセージの受信を待機する時間を設定するように構成されてよい。
【００３５】
上記の例示的デバイスは更に、認証リカバリモジュールを有してよい。認証リカバリモジュールは、リモートリソースと通信することによってユーザー関連セキュリティを再構成するように構成されてよい。
【００３６】
別の例示的実施形態では、方法が提供される。該方法は、デバイスを起動するステップと、デバイスがリモートリソースに接続されているか否かを判定するステップと、デバイスがリモートリソースに接続されているという判定に基づいて、初回の有効化を実行するかユーザー認証リカバリを実行するかを決定するステップと、デバイスがリモートリソースに接続されていないという判定に基づいて、デバイスにおいて秘密鍵が確立されているか否かを判定するステップと、を含んでよい。
【００３７】
上記の例示的方法は、更に以下のように構成されてよい。すなわち、リモートリソースは、ネットワーク接続を介してアクセス可能なコンピューティングデバイスであってよい。
【００３８】
上記の例示的方法は更に、初回の有効化を実行するという判定に基づいて、リモートリソースからデバイスにセキュリティソフトウェア及び秘密鍵を提供するステップ、を含んでよい。この構成において、例示的方法は更に、ユーザー認証リカバリを実行するという判定に基づいて、ユーザー認証リカバリの完了が成功した場合に、デバイスセキュリティをリセットし、リモートリソースからデバイスに秘密鍵を提供するステップ、を含んでよい。
【００３９】
上記の例示的方法は更に、デバイスにおいて秘密鍵が確立されていないという判定に基づいて、セキュリティ構成のためにデバイスをリモートリソースに接続する通知を発するステップ、を含んでよい。
【００４０】
別の例示的実施形態では、方法が提供される。本方法は、デバイスへのログインが要求されることを検知するステップと、デバイスがロックアウト状態であるか否かを判定するステップと、デバイスがロックアウト状態であるという判定に基づいて、ユーザー認証リカバリが要求されることを指示する通知を行い、デバイスをシャットダウンするステップと、デバイスがロックアウト状態でないという判定に基づいて、署名付きログイン成功メッセージの受信を待機するステップと、を含んでよい。
【００４１】
上記の例示的方法は更に、署名付きログイン成功メッセージの受信及び認証に基づいて、暗号化された認証メッセージを送信するステップ、を含んでよい。
【００４２】
上記の例示的方法は更に、デバイスにおいて、署名付きログイン成功メッセージの受信を待機する時間を確立する待機タイマーを開始するステップ、を含んでよい。この構成において、例示的方法は更に、署名付きログインメッセージを受信することなく待機タイマーが満了することに基づき、ログイン試行が所定回数を超過したか否かを判定するステップと、ログイン試行が所定回数を超過したという判定に基づいて、デバイスをロックアウト状態にするステップと、を含んでよい。
【００４３】
別の例示的実施形態では、少なくともデバイスを含むシステムが提供される。本システムは、上記の例示的方法のうちいずれかを実行するように構成される。
【００４４】
別の例示的実施形態では、上記の例示的方法のうちいずれかを実行するように構成されるチップセットが提供される。
【００４５】
別の例示的実施形態では、複数の命令を含む少なくとも１つの機械可読媒体が提供される。当該複数の命令は、コンピューティングデバイス上で実行されることに応じて、当該コンピューティングデバイスに上記の例示的方法のうちいずれかを実行させる。
【００４６】
別の例示的実施形態では、ハードウェアによるアクセス保護用に構成されるデバイスであって、上記の例示的方法のうちいずれかを実行するように構成されるデバイスが提供される。
【００４７】
別の例示的実施形態では、少なくとも１つの機械可読記憶媒体を含むシステムが提供される。当該少なくとも１つの機械可読記憶媒体は、個別に又は組み合わせで命令を格納しており、当該命令が１又は複数のプロセッサにより実行された場合、システムは上記の例示的方法のうちいずれかを実行することになる。
【００４８】
別の例示的実施形態では、デバイスが提供される。該デバイスは、ログインエージェントモジュール、セキュアユーザー認証モジュール及びオペレーティングシステムログイン認証モジュールを有してよい。ログインエージェントモジュールは、デバイスに入力されるべきログイン情報を要求するプロンプトを、デバイスのユーザーインターフェースにより提示させるように構成される。セキュアユーザー認証モジュールは、署名付きログイン成功メッセージの受信に基づいて、暗号化された認証メッセージを送信するように構成される。オペレーティングシステムログイン認証モジュールは、ログイン情報をログインエージェントモジュールから受信し、当該ログイン情報に基づいて、署名付きログイン成功メッセージをセキュアユーザー認証モジュールに送信するように構成される。
【００４９】
上記の例示的デバイスは、更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージを認証することに基づいて、暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに送信するように構成されてよい。ここで、オペレーティングシステムログイン認証モジュールは更に、暗号化された認証メッセージの受信及び認証に基づいて、デバイスへのアクセスを許可するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、ファームウェアにより、デバイスのトラステッド・エグゼキューション・エンバイロンメントにロードされるように構成されてよい。該デバイスは更に、ファームウェアインターフェースモジュールを有してよい。ファームウェアインターフェースモジュールは、オペレーティングシステムログイン認証モジュールからの署名付きログイン成功メッセージをセキュアユーザー認証モジュールに伝達し、セキュアユーザー認証モジュールからの暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに伝達するように構成されてよい。
【００５０】
上記の例示的デバイスは更に、以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、秘密鍵を保護（secure）するように構成される既知ユーザー情報に対照してログイン情報を認証し、既知ユーザー情報に対照してログイン情報が認証された場合に、秘密鍵を用いて署名付きログイン成功メッセージを生成するように構成されてよい。
【００５１】
上記の例示的デバイスは更に、セキュアログインポリシーモジュールを有してよい。セキュアログインポリシーモジュールは、少なくともデバイスに関するコンテクストを判定し、当該コンテクストに基づいて、ログインエージェントモジュールとオペレーティングシステムログイン認証モジュールのうち少なくとも１つに対して、ログインポリシーを設定し、セキュアユーザー認証モジュールがデバイスをシャットダウンさせる前に署名付きログイン成功メッセージの受信を待機する時間を設定するように構成される。
【００５２】
別の例示的実施形態では、方法が提供される。該方法は、デバイスを起動するステップと、デバイスがリモートリソースに接続されているか否かを判定するステップと、デバイスがリモートリソースに接続されているという判定に基づいて、初回の有効化を実行するかユーザー認証リカバリを実行するかを決定するステップと、デバイスがリモートリソースに接続されていないという判定に基づいて、デバイスにおいて秘密鍵が確立されているか否かを判定するステップと、を含んでよい。
【００５３】
上記の例示的方法は更に、初回の有効化を実行するという判定に基づいて、リモートリソースからデバイスにセキュリティソフトウェア及び秘密鍵を提供するステップ、を含んでよい。
【００５４】
上記の例示的方法は更に、ユーザー認証リカバリを実行するという判定に基づいて、ユーザー認証リカバリの完了が成功した場合に、デバイスセキュリティをリセットし、リモートリソースからデバイスに秘密鍵を提供するステップ、を含んでよい。
【００５５】
上記の例示的方法は更に、デバイスにおいて秘密鍵が確立されていないという判定に基づいて、セキュリティ構成のためにデバイスをリモートリソースに接続する通知を発するステップ、を含んでよい。
【００５６】
別の例示的実施形態では、方法が提供される。該方法は、デバイスへのログインが要求されることを検知するステップと、デバイスがロックアウト状態であるか否かを判定するステップと、デバイスがロックアウト状態であるという判定に基づいて、ユーザー認証リカバリが要求されることを指示する通知を行い、デバイスをシャットダウンするステップと、andデバイスがロックアウト状態でないという判定に基づいて、署名付きログイン成功メッセージの受信を待機するステップと、を含んでよい。
【００５７】
上記の例示的方法は更に、署名付きログイン成功メッセージの受信及び認証に基づいて、暗号化された認証メッセージを送信するステップ、を含んでよい。
【００５８】
上記の例示的方法は更に、デバイスにおいて、署名付きログイン成功メッセージの受信を待機する時間を確立する待機タイマーを開始するステップ、を含んでよい。この構成において、上記の例示的方法は更に、署名付きログインメッセージを受信することなく待機タイマーが満了することに基づき、ログイン試行が所定回数を超過したか否かを判定するステップと、ログイン試行が所定回数を超過したという判定に基づいて、デバイスをロックアウト状態にするステップと、を含んでよい。
【００５９】
別の例示的実施形態では、少なくともデバイスを含むシステムであって、上記の例示的方法のうちいずれかを実行するように構成されるシステムが提供される。
【００６０】
別の例示的実施形態では、複数の命令を含む少なくとも１つの機械可読媒体が提供される。当該複数の命令は、コンピューティングデバイス上で実行されることに応じて、当該コンピューティングデバイスに上記の例示的方法のうちいずれかを実行させる。
【００６１】
例示的な一実施形態において、デバイスが提供される。該デバイスは、ログインエージェントモジュール、セキュアユーザー認証モジュール及びオペレーティングシステムログイン認証モジュールを有してよい。ログインエージェントモジュールは、デバイスに入力されるべきログイン情報を要求するプロンプトを、デバイスのユーザーインターフェースにより提示させるように構成される。セキュアユーザー認証モジュールは、署名付きログイン成功メッセージの受信に基づいて、暗号化された認証メッセージを送信するように構成される。オペレーティングシステムログイン認証モジュールは、ログイン情報をログインエージェントモジュールから受信し、当該ログイン情報に基づいて、署名付きログイン成功メッセージをセキュアユーザー認証モジュールに送信するように構成される。
【００６２】
上記の例示的デバイスは、更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージを認証することに基づいて、暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに送信するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、暗号化された認証メッセージの受信及び認証に基づいて、デバイスへのアクセスを許可するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、デバイスのファームウェアにより、デバイスのトラステッド・エグゼキューション・エンバイロンメントにロードされるように構成されてよい。この構成において、例示的デバイスは更に、ファームウェアインターフェースモジュールを有してよい。ファームウェアインターフェースモジュールは、オペレーティングシステムログイン認証モジュールからの署名付きログイン成功メッセージをセキュアユーザー認証モジュールに伝達し、セキュアユーザー認証モジュールからの暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに伝達するように構成されてよい。
【００６３】
上記の例示的デバイスは、更に以下のように構成されてよい。オペレーティングシステムログイン認証モジュールは更に、既知ユーザー情報と対照してログイン情報を認証するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、既知ユーザー情報を用いて秘密鍵を保護（secure）するように構成されてよい。当該秘密鍵は、ログイン情報が既知ユーザー情報と対照して認証された場合にアクセス可能である。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、秘密鍵を用いて署名付きログイン成功メッセージを生成するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、秘密鍵は、デバイスのトラステッド・エグゼキューション・エンバイロンメントにより暗号化されてよい。
【００６４】
上記の例示的デバイスは更に、セキュアログインポリシーモジュールを有してよい。セキュアログインポリシーモジュールは、少なくともデバイスに関するコンテクストを判定し、当該コンテクストに基づいて、ログインエージェントモジュールとオペレーティングシステムログイン認証モジュールのうち少なくとも１つに対して、ログインポリシーを設定するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージが受信されない場合にデバイスをシャットダウンさせるように構成されてよい。また、セキュアログインポリシーモジュールは更に、セキュアユーザー認証モジュールがデバイスをシャットダウンさせる前に署名付きログイン成功メッセージの受信を待機する時間を設定するように構成されてよい。
【００６５】
上記の例示的デバイスは更に、認証リカバリモジュールを有してよい。認証リカバリモジュールは、リモートリソースと通信することによってデバイにおけるユーザー関連セキュリティを再構成するように構成されてよい。
【００６６】
別の例示的実施形態では、方法が提供される。該方法は、デバイスを起動するステップと、デバイスがリモートリソースに接続されているか否かを判定するステップと、デバイスがリモートリソースに接続されているという判定に基づいて、初回の有効化を実行するかユーザー認証リカバリを実行するかを決定するステップと、デバイスがリモートリソースに接続されていないという判定に基づいて、デバイスにおいて秘密鍵が確立されているか否かを判定するステップと、を含んでよい。
【００６７】
上記の例示的方法は、更に以下のように構成されてよい。すなわち、該リモートリソースは、ネットワーク接続を介してアクセス可能なコンピューティングデバイスであってよい。
【００６８】
上記の例示的方法は更に、初回の有効化を実行するという判定に基づいて、リモートリソースからデバイスにセキュリティソフトウェア及び秘密鍵を提供するステップ、を含んでよい。この構成において、例示的方法は更に、ユーザー認証リカバリを実行するという判定に基づいて、ユーザー認証リカバリの完了が成功した場合に、デバイスセキュリティをリセットし、リモートリソースからデバイスに秘密鍵を提供するステップ、を含んでよい。
【００６９】
上記の例示的方法は更に、デバイスにおいて秘密鍵が確立されていないという判定に基づいて、セキュリティ構成のためにデバイスをリモートリソースに接続する通知を発するステップ、を含んでよい。
【００７０】
別の例示的実施形態では、方法が提供される。該方法は、デバイスへのログインが要求されることを検知するステップと、デバイスがロックアウト状態であるか否かを判定するステップと、デバイスがロックアウト状態であるという判定に基づいて、ユーザー認証リカバリが要求されることを指示する通知を行い、デバイスをシャットダウンするステップと、デバイスがロックアウト状態でないという判定に基づいて、署名付きログイン成功メッセージの受信を待機するステップと、を含んでよい。
【００７１】
上記の例示的方法は更に、署名付きログイン成功メッセージの受信及び認証に基づいて、暗号化された認証メッセージを送信するステップ、を含んでよい。
【００７２】
上記の例示的方法は更に、デバイスにおいて、署名付きログイン成功メッセージの受信を待機する時間を確立する待機タイマーを開始するステップ、を含んでよい。この構成において、例示的方法は更に、署名付きログインメッセージを受信することなく待機タイマーが満了することに基づき、ログイン試行が所定回数を超過したか否かを判定するステップと、ログイン試行が所定回数を超過したという判定に基づいて、デバイスをロックアウト状態にするステップと、を含んでよい。
【００７３】
別の例示的実施形態では、システムが提供される。該システムは、デバイスを起動する手段と、デバイスがリモートリソースに接続されているか否かを判定する手段と、デバイスがリモートリソースに接続されているという判定に基づいて、初回の有効化を実行するかユーザー認証リカバリを実行するかを決定する手段と、デバイスがリモートリソースに接続されていないという判定に基づいて、デバイスにおいて秘密鍵が確立されているか否かを判定する手段と、を含んでよい。
【００７４】
上記の例示的システムは、更に以下のように構成されてよい。すなわち、該リモートリソースは、ネットワーク接続を介してアクセス可能なコンピューティングデバイスであってよい。
【００７５】
上記の例示的システムは更に、初回の有効化を実行するという判定に基づいて、リモートリソースからデバイスにセキュリティソフトウェア及び秘密鍵を提供する手段を含んでよい。この構成において、例示的システムは更に、ユーザー認証リカバリを実行するという判定に基づいて、ユーザー認証リカバリの完了が成功した場合に、デバイスセキュリティをリセットし、リモートリソースからデバイスに秘密鍵を提供する手段を含んでよい。
【００７６】
上記の例示的システムは更に、デバイスにおいて秘密鍵が確立されていないという判定に基づいて、セキュリティ構成のためにデバイスをリモートリソースに接続する通知を発する手段を含んでよい。
【００７７】
別の例示的実施形態では、システムが提供される。該システムは、デバイスへのログインが要求されることを検知する手段と、デバイスがロックアウト状態であるか否かを判定する手段と、デバイスがロックアウト状態であるという判定に基づいて、ユーザー認証リカバリが要求されることを指示する通知を行い、デバイスをシャットダウンする手段と、デバイスがロックアウト状態でないという判定に基づいて、署名付きログイン成功メッセージの受信を待機する手段と、を含んでよい。
【００７８】
上記の例示的システムは更に、署名付きログイン成功メッセージの受信及び認証に基づいて、暗号化された認証メッセージを送信する手段、を含んでよい。
【００７９】
上記の例示的システムは更に、デバイスにおいて、署名付きログイン成功メッセージの受信を待機する時間を確立する待機タイマーを開始する手段を含んでよい。この構成において、例示的システムは更に、署名付きログインメッセージを受信することなく待機タイマーが満了することに基づき、ログイン試行が所定回数を超過したか否かを判定する手段と、ログイン試行が所定回数を超過したという判定に基づいて、デバイスをロックアウト状態にする手段と、を含んでよい。
【００８０】
本明細書で採用された用語及び表現は、説明の用語として用いられており、限定ではない。そのような用語及び表現を用いることに、図示された特徴及び記載された特徴（又はそれらの一部）の均等物を除外する意図はない。当然ながら、特許請求の範囲において様々な変更が可能である。したがって、そのような均等物は全て特許請求の範囲に包含されるものとする。
【図１】
0005981035.tif 000002
【図２】
0005981035.tif 000003
【図３】
0005981035.tif 000004
【図４】
0005981035.tif 000005
【図５】
0005981035.tif 000006