本開示は、ハードウェアによる(hardware-enforced)アクセス保護のためのシステム及び方法を記載する。デバイスは、例えば、ログインエージェントモジュール(login agent module:LAM)、オペレーティングシステムログイン認証モジュール(operating system login authentication module:OSLAM)及びセキュアユーザー認証モジュール(secure user authentication module:SUAM)を有してよい。まず、LAMは、デバイスのユーザーインターフェースによりプロンプトを提示させるように構成されてよい。プロンプトは、デバイスへのログイン情報の入力(例えば、デバイスユーザーによる)を要求してよい。LAMは更に、ログイン情報をOSLAMに提供するように構成されてよく、OSLAMは、ログイン情報を認証するように構成されてよい。ログイン情報が認証された場合、OSLAMは更に、署名付きログイン成功メッセージをSUAMに送信するように構成されてよい。一実施形態において、SUAMは、(例えば、ファームウェアによって)デバイスのセキュアなメモリ空間、例えばトラステッド・エグゼキューション・エンバイロンメント(trusted execution environment:TEE)にロードされてよい。SUAMは、署名付きログイン成功メッセージを認証するように構成されてよく、メッセージが認証された場合、暗号化された認証メッセージをOSLAMに送信するように構成されてよい。OSLAMは更に、暗号化された認証メッセージを解読し認証するように構成されてよい。暗号化された認証メッセージが認証された場合、OSLAMはデバイスへのアクセスを許可してよい。
一実施形態において、OSLAMは秘密鍵を有してよく、SUAMは公開鍵を有してよい。秘密鍵は、デバイス内の既知ユーザー情報により保護されてよい。ユーザーがデバイスにログインする(例えば、ログイン情報を入力する)とき、ログイン情報は既知ユーザー情報と比較されてよく、ログイン情報が既知ユーザー情報に対応する場合にのみ、秘密鍵へのアクセスが許可されてよい。秘密鍵は、署名付きログイン成功メッセージの生成に用いられてよく、署名付きログイン成功メッセージは、SUAMにより公開鍵を用いて認証されてよい。同様に、暗号化された認証メッセージは、OSLAMにより秘密鍵を用いて解読されてよい。一実施形態において、追加的な保護を提供するために(例えば、秘密鍵が辞書攻撃(一致するまで鍵の組合わせが継続的に推測される)の結果であると判定されるのを防ぐために)、秘密鍵はTEEルートにより暗号化されてよい。
一実施形態において、デバイスは更に、ファームウェアインターフェースモジュールを有してよい。ファームウェアインターフェースモジュールは、署名付きログイン成功メッセージをOSLAMからSUAMに伝達し、また逆に、暗号化された認証メッセージをSUAMからOSLAMに伝達するように構成されてよい。同じ実施形態又は異なる実施形態において、デバイスは更に、セキュアポリシーモジュール(secure policy module:SPM)及び/又は認証リカバリモジュール(authentication recovery module:ARM)を有してよい。SPMは、LAM、OSLAM及び/又はSUAMの動作を制御するように構成されてよい。例えばLAM及びOSLAMの場合、SPMは、デバイスに関するコンテクスト(デバイスの場所、デバイスの状態等)を判定するように構成されてよく、コンテクストに基づいて、LAM及び/又はOSLAMの動作を制御するログインポリシーを設定してよい。例えば、SPMは、デバイスが「自宅」の場所にあると判定してよく、デバイスが既知の場所にあると判定される場合とは対照的に、入力を要求するログイン情報はより少なくてよい。SPMは更に、例えば、待機タイマー及び/又はログイン試行の最大回数を、SUAMにおいて定義するように構成されてよい。待機タイマーは、SUAMがデバイスをシャットダウンする前に署名付きログイン成功メッセージの受信をどのくらい長く待機するのかを定義してよい。一実施形態において、署名付きログイン成功メッセージが受信されることなく待機タイマーが満了した場合、SUAMは、ログイン試行の最大回数が超過されたか否かを判定してよい。ログイン試行の最大回数が超過された場合、SUAMは、デバイスをロックアウト状態にしてよい。ここで、ユーザー認証リカバリが実行されるまで、オペレーティングシステムへのアクセスは拒否されてよい。ARMは、デバイスがリモートリソース(例えば、ネットワーク接続を介してアクセス可能なコンピューティングデバイス)に接続された場合、ユーザー認証リカバリを実行するように構成されてよい。
一実施形態において、リモートリソースは、インターネットを介してアクセス可能であって、デバイスに秘密鍵を提供するように構成されるサーバーであってよい。例えば、デバイスは、起動されたとき、まず当該デバイスがリモートリソースに接続されているかを判定するように構成されてよい。それからデバイスは、秘密鍵が当該デバイスに存在するか否かを判定するように構成されてよい。デバイスがリモートリソースに接続されておらず秘密鍵が当該デバイスに存在する場合、当該デバイスにおいてハードウェアによる(hardware-enforced)アクセス保護が開始されてよい。デバイスがリモートリソースに接続されておらず秘密鍵が当該デバイスに存在しない場合、当該デバイスは、デバイスの使用前にセキュリティセットアップ(デバイスのリモートリソースへの接続を要求する)を実行しなければならないことを指示する通知を(例えば、デバイスユーザーに対して)提示してよい。デバイスがリモートリソースに接続されており当該デバイスが新しいデバイスである(例えば、秘密鍵が存在しない)場合、リモートリソースから当該デバイス(例えば、LAM及びOSLAMの一部又は全部)にセキュリティソフトウェアがダウンロードされてよく、リモートリソースにより秘密鍵が提供されてよい。デバイスがリモートリソースに接続されておりユーザー認証リカバリが要求される場合、リモートリソースはユーザー認証リカバリを実行してよい(例えば、個人的な質問、パスワード、キー等により、ユーザーの識別情報を確認してよい)。リモートリソースによりユーザーが認証された場合、デバイスにおける既存のセキュリティ構成はリセットされてよく、リモートリソースからデバイスに新しい秘密鍵が提供されてよい。
図1は、本開示の少なくとも1つの実施形態に係る、ハードウェアによる(hardware-enforced)アクセス保護用に構成される例示的デバイス100を示す。デバイス100の例としては、モバイル通信デバイス(Android(登録商標)オペレーティングシステム(OS)、iOS(登録商標)、Blackberry(登録商標)OS、Palm(登録商標)OS、Symbian(登録商標)OS等に基づく携帯電話、スマートフォン等)、モバイルコンピューティングデバイス(例えば、iPad(登録商標)、Galaxy Tab(登録商標)、Kindle Fire(登録商標)等のタブレットコンピューター)、インテル株式会社製の低電力チップセットを有するUltrabook(登録商標)、ネットブック、ノートパソコン、ラップトップコンピューター、一般に据え置き型のコンピューティングデバイス(デスクトップコンピューター等)が挙げられる。デバイス100は、例えば、デバイス100の各種モジュールが動作可能な少なくとも2種類の実行環境を含んでよい。低特権環境102は、例えば、デバイス100のオペレーティングシステム(OS)であってよい。低特権環境102において動作するモジュールは「測定」(例えば、それらのコードのハッシュに基づいて検証され、信頼性を判定)されないので、制限なく書込み、実行、変更等が行われてよい。高特権モジュール104は、例えば、デバイス100のトラステッド・エグゼキューション・エンバイロンメント(TEE)であってよい。高特権環境104は、モジュールが動作可能な、暗号的に保護された実行環境を提供してよい。また、該実行環境は、外的影響による潜在的な干渉又は介入から隔離される。結果として、ハードウェア管理、エミュレーション、デバッグ、セキュリティ等のシステムに不可欠な機能は、一般に高特権環境104において実行される。
一実施形態において、デバイス100の低特権環境102(例えば、デバイス100のOS)は、少なくともLAM106及びOSLAM108を含んでよい。LAM106は、ログイン情報を(例えば、デバイス100のユーザーから)取得するように構成されてよい。例えば、LAM106はプロンプトをデバイス100のユーザーインターフェース(例えば表示部)により表示させて、デバイス100へのログイン情報の入力(例えば、デバイス100のタッチスクリーン、キーパッド等を介して)を要求してよい。ログイン情報はOSLAM108に渡されてよく、OSLAM108は、当該ログイン情報を認証するように構成されてよい。例えば、OSLAM108は、LAM106から受信したログイン情報がデバイス100の既知ユーザー情報に対応するか否かを判定してよい。ログイン情報が認証された場合、OSLAMは署名付きログイン成功メッセージを生成してよい。例えば、署名付きログイン成功メッセージは、OSLAM108の秘密鍵を用いて署名されてよい。一実施形態において、低特権環境102は更に、ファームウェアインターフェースモジュール(firmware interface module:FIM)110を含んでよい。FIM110は、OSLAM108と高特権実行環境104に含まれるSUAM112とのインタラクションを促進するように構成されてよい。例えば、署名付きログイン成功メッセージは、OSLAM108からFIM110に、そしてFIM110からSUAM112に送信されてよい。FIM110の機能はOSLAM108に組み込まれてもよいので、図1ではFIM110を任意のものとして示した。
SUAM112は、高特権環境104にロードされてよい。例えば、SUAM112は、有効化の際にデバイス100のファームウェアからデバイス100にロードされてよい。ロード中、デバイス100のハードウェアにより、SUAM112のプログラムコードのハッシュ値がSUAM112の既知の良好なハッシュ値と比較されてよいという点で、SUAM112は「測定」されてもよい。プログラムコードのハッシュが既知の良好なハッシュ値と一致した場合、コードのロードが許可されてよい。SUAM112は、署名付きログイン成功メッセージの受信に基づいて、デバイス100へのアクセスを制御するように構成されてよい。例えば、署名付きログイン成功メッセージが受信された場合、SUAM112は当該メッセージを(例えば公開鍵を用いて)認証してよい。署名付きログイン成功メッセージが認証された場合、SUAM112は、暗号化された認証メッセージをOSLAM108に(例えばFIM110を介して)送信してよく、こうして、OSLAM108にデバイス100をロック解除させてよい(例えば、デバイス100へのアクセスを許可するために)。署名付きログイン成功メッセージが受信されない場合、又は、受信された署名付きログイン成功メッセージが認証できない場合、SUAM112はデバイスをシャットダウンさせてよい。一部の例では、SUAM112は、ユーザー認証リカバリを要求するロックアウト状態にデバイスを移行させてもよい。
図2は、本開示の少なくとも1つの実施形態に係るデバイス100’の例示的構成を示す図である。デバイス100’は、例えばシステムモジュール200を有してよい。システムモジュール200は、デバイス100’の通常動作を管理するように構成されてよい。システムモジュール200は、例えば、処理モジュール202、メモリモジュール204、電力モジュール206、ユーザーインターフェースモジュール208及び通信インターフェースモジュール210を有してよい。通信インターフェースモジュール210は、通信モジュール212とインタラクションを行うように構成されてよい。更に、認証モジュール214は、少なくとも通信モジュール212及びユーザーインターフェースモジュール208とインタラクションを行うように構成されてよい。図2では、通信モジュール212及び認証モジュール214がシステムモジュール200とは別に構成されているが、これは本明細書での説明のために過ぎない。モジュール212及び214に関連する機能の一部又は全部は、システムモジュール200に含まれてもよい。
デバイス100’において、処理モジュール202は、別々のコンポーネントに位置する1又は複数のプロセッサを有してよく、或いは、単一のコンポーネント(例えば、システム・オン・チップ(SoC)構成における)として具現化される1又は複数の処理コアと、任意のプロセッサ関連補助回路(ブリッジインターフェース等)とを有してよい。プロセッサの例としては、Pentium(登録商標)、Xeon(登録商標)、Itanium(登録商標)、Celeron(登録商標)、Atom(登録商標)、Core(登録商標)iシリーズの製品群に含まれるような、インテル株式会社から入手可能な各種x86系マイクロプロセッサが挙げられる。補助回路の例としては、処理モジュール202がモバイルデバイス104’で異なる速度や異なるバス等で動作する他のシステム構成要素とインタラクションを行うことができるインターフェースを提供するように構成されるチップセット(例えば、インテル株式会社から入手可能なノースブリッジ、サウスブリッジ等)が挙げられる。一般に補助回路と関連付けられる機能の一部又は全部は、プロセッサ(例えば、インテル株式会社から入手可能なSandy Bridge集積回路のようなSoCパッケージ)等の同じ物理的パッケージに含まれてもよい。一実施形態において、処理モジュール202は、単一のハードウェアプラットフォーム上で複数の仮想マシン(VM)を実行可能とする仮想化技術(例えば、インテル株式会社から入手可能な一部のプロセッサ及びチップセットにおいて利用可能なVT−x技術)を備えてよい。例えば、VT−x技術では、SUAM112をデバイス100のファームウェアからロードすることに関して上述したように、ソフトウェアベースの保護を強化するように構成されたトラステッド・エグゼキューション・テクノロジー(trusted execution technology:TXT)を、ハードウェアによる(hardware-enforced)メジャード・ローンチド・エンバイロンメント(Measured Launched Environment:MLE)と組み合わせることもできる。
処理モジュール202は、デバイス100’の命令を実行するように構成されてよい。命令には、処理モジュール202にデータ読出し、データ書込み、データ処理、データ構築、データ変換、データ媒体変換等に関する作業を実行させるように構成されるプログラムコードが含まれてよい。情報(命令、データ等)は、メモリモジュール204に格納されてよい。メモリモジュール204は、固定様式又はリムーバブル様式のランダムアクセスメモリ(RAM)又はリードオンリーメモリ(ROM)を有してよい。RAMには、スタティックRAM(SRAM)やダイナミックRAM(DRAM)等の、サイネージコントローラ106’の動作中に情報を保持するように構成されるメモリが含まれてよい。ROMには、デバイス100’の有効化時に命令を提供するように構成されるバイオス(Basic Input/Output System:BIOS)メモリ等のメモリや、EPROM(electronic programmable ROM)等のプログラマブルメモリ、フラッシュメモリ等が含まれてよい。他の固定型及び/又はリムーバブルのメモリには、例えば、フロッピー(登録商標)ディスクやハードドライブ等の磁気メモリ、ソリッドステートフラッシュメモリ(例えばeMMC(登録商標))等の電子メモリ、着脱可能なメモリカード又はメモリスティック(microSD(登録商標)、USB(登録商標)等)、CD−ROM(compact disc-ROM)等の光学メモリが含まれてよい。電力モジュール206は、内部電源(例えば電池)及び/又は外部電源(電気機械発電機、太陽発電機、送電網等)と、デバイス100’に動作に必要な電力を供給するように構成される関連回路とを有してよい。
ユーザーインターフェースモジュール208は、ユーザーがデバイス100’、例えば、各種入力機構(例えば、マイク、スイッチ、ボタン、ノブ、キーボード、スピーカー、タッチセンサー式サーフェス、画像をキャプチャしたり近接、距離、動き、ジェスチャー等を感知したりするように構成される1又は複数のセンサー)及び出力機構(例えば、スピーカー、表示部、点灯/点滅指示器、振動や動き等のための電気機械構成要素)とインタラクションを行うことを可能にする回路を有してよい。通信インターフェースモジュール210は、パケットルーティング等の通信モジュール212に関する制御機能を処理するように構成されてよく、有線通信及び/又は無線通信をサポートするように構成されるリソースを有してよい。有線通信には、シリアル有線媒体及びパラレル有線媒体、例えば、Ethernet(登録商標)、USB(登録商標)、Firewire(登録商標)、デジタル・ビジュアル・インターフェース(DVI)、HDMI(登録商標)(高精細度マルチメディアインターフェース、High-Definition Multimedia Interface)等が含まれてよい。無線通信には、例えば、近接無線媒体(例えば、近距離無線通信(Near Field Communication:NFC)規格に基づくような無線周波数(RF)、赤外線(IR)、光学式文字認識(optical character recognition:OCR)、磁気的文字検出(magnetic character sensing)等)、短距離無線媒体(Bluetooth(登録商標)、WLAN、Wi-Fi等)、長距離無線媒体(セルラー方式、衛星方式等)が含まれてよい。一実施形態において、通信インターフェースモジュール210は、通信モジュール212においてアクティブな無線通信が互いに干渉するのを防止するように構成されてよい。この機能を実行する際、通信インターフェースモジュール210は、例えば送信待機中メッセージの相対的な優先度に基づいて、通信モジュール212の活動をスケジュールしてよい。
認証モジュール214は、図1に示したLAM106、OSLAM108、FIM110及びSUAM112に関する工程の一部又は全部を扱うように構成されてよい。このために、認証モジュール214は、通信モジュール212及び/又はユーザーインターフェースモジュール208とインタラクションを行ってよい。図3に、インタラクションの例を説明するための認証モジュール214の例示的構成を示す(例えば、認証モジュール214’として)。認証モジュール214’は、上述したようにLAM106、OSLAM108及びSUAM112を有してよい。LAM106は、ユーザーインターフェースモジュール208とインタラクションを行って、ログイン情報(LI)を取得してよい(例えば、ユーザーにログイン情報の入力を促し、ユーザーにより入力されるログイン情報を取得するために)。それから、LIはOSLAMに提供されてよい。OSLAMはLIを認証し、認証された場合、署名付きログイン成功メッセージ(SLSM)をSUAM112に送信してよい。それからSUAM112はSLSMを認証し、認証された場合、暗号化された認証メッセージ(encrypted authentication message:EAM)をOSLAM108に返送してよい。そして、OSLAM108は、デバイス100をロック解除(例えば、デバイス100へのアクセスを許可)してよい。
一実施形態において、認証モジュール214’はまた、セキュアログインポリシーモジュール(SLPM)300及び認証リカバリモジュール(ARM)302を有してよい。SLPM300は、LAM106、OSLAM108及び/又はSUAM112を制御するように構成されてよい。例えば、SLPM300は、コンテクストに基づいてLAM106とOSLAM108の一方又は両方に関するログインポリシーを確立することにより、LAM106及び/又はOSLAM108を制御するように構成されてよい。コンテクストは、本明細書において、例えばデバイス100’の状態、デバイス100’が動作している環境等に関連してよい。例えば、SLPM300は、デバイス100’が安全な場所(例えば既知のユーザーの自宅、車、職場等)にあるときを判定するように構成されてよい。SLPM300は、例えば、通信モジュール212から位置情報(全地球測位システム(Global Positioning System:GPS)座標、デバイス100’により検出される短距離ネットワークの識別情報等)を取得することによって、場所を判定してよい。既知の場所では、デバイス100’へのアクセスに必要となるログイン情報は少なくてよい(例えば、パスワード、又は単純なパターンのタッチスクリーンインタラクションが要求されてよい)。或いは、位置情報により、デバイスが未知又は公共の場所(公共交通機関、空港や駅、レストラン等)にあることが示されてよい。この場合、セキュリティポリシーは、より包括的なログイン情報(ユーザー名及びパスワード、個人識別チャレンジクエスチョンへの回答、指紋や網膜スキャンといった生体認証等)を要求してよい。コンテクストは、デバイス100の状態に適用されてもよい。例えば、デバイス100がシャットダウンされ再起動された場合(例えば、通常のシャットダウンによって、又は電池の取り外しによって)や、セキュリティに関する構成が変更された後に再起動された場合(ユーザーの個人識別情報が変更された場合、セキュリティソフトウェアが無効化された場合等)等である。このようなコンテクストでは、デバイス100’が危険に晒されていることを確認するために、ログインポリシーによってより包括的なログイン情報が要求されてよい。セキュリティポリシーは、要求するログイン情報の種類及び/又は量に基づいて、ログイン情報を要求するプロンプトを変更することによって、LAM106の動作を制御してよく、且つ/又は、既知ユーザー情報と対照してログイン情報が認証される方法で、OSLAM108を制御してよい。
SLPM300はまた、SUAM112の動作を制御するように構成されてよい。例えば、SLPM300は待機時間を判定してよく、且つ/又は、SUAM112がデバイス100’をシャットダウンする前にSLSMの受信を待機する時間を制御する待機タイマーを開始してよい。例えば、SLPM300は2分間の待機タイマーを設定してよく、デバイス100’にログインするユーザーに対してプロンプトが最初に表示された後に、当該待機タイマーを開始してよい。SUAM112が待機タイマーとインタラクションを行う方法は、デバイス100’の具体的な構成によって異なってよい。例えば、待機時間は短くてよく、SUAM112がSLSMを受信するものの当該SLSMを認証しない場合に毎回リセットされてよい。或いは、待機タイマーは長く設定されてよく、SLSMがSUAM112を受信し且つ認証するまで継続してよい。SLSMがSUAM112に受信されない場合、又は、SLSMが受信はされたが認証されない場合、SUAM112はデバイス100’をシャットダウンしてよい。一実施形態において、SLPM300は、デバイスにおいて許容されるログイン試行回数を設定してもよい。ログイン試行回数を制限することにより、例えば辞書攻撃を試みている者のパスワードを推測する能力を即座に制限できるという点で、セキュリティレベルを高めることができる。ログイン試行回数は、デバイス100’をシャットダウンする前にSUAM112によって確認されてよい。ログイン試行回数が超過された場合、SUAM112は、デバイス100’をロックアウト状態にしてよい。ロックアウト状態は、デバイス100’が再びアクセス可能となる前に、ユーザー認証リカバリを要求する。
一実施形態において、セキュリティ情報が紛失されたか又は忘れられた場合、或いはデバイス100’がロックアウト状態に置かれた場合、ARM302はユーザー認証リカバリを提供するように構成されてよい。ユーザー認証リカバリを実行するとき、ARM302は、通信モジュール212を用いて、ネットワーク(例えばインターネット)を介してアクセス可能なコンピューティングデバイス(例えばサーバー)等のリモートリソースとインタラクションを行ってよい。一実施形態において、ユーザー認証リカバリはリモートリソースによって指揮されてよい。ここで、ユーザーIDは、ユーザー名とパスワード、チャレンジクエスチョン、生体認証データ等によって検証されてよい。ユーザーのIDが検証されると、デバイス100’のセキュリティ構成はリモートリソースによってリセットされてよい。
図4は、本開示の少なくとも1つの実施形態に係る、有効化及びユーザー認証リカバリの例示的工程を示すフローチャートである。デバイスのセキュリティを維持することができる少なくとも1つの方法は、セキュリティ構成へのアクセスを改ざんから保護することである。一実施形態において、ソフトウェアベースセキュリティとハードウェアベースセキュリティは、暗号化された認証メッセージを交換してよい。更にハードウェアベースセキュリティをファームウェアに配置するために、ソフトウェアベースセキュリティのインストール及び構成は、セキュアなリモートリソースによって制御されてよい。このようにして、デバイスセキュリティを回避する従来の方法を妨害してよい。例えば、本開示に従う方法で保護されるデバイスが入手されて、デバイスメモリを消去し新しいオペレーティングシステムをインストールすることにより、ソフトウェアベースセキュリティの特徴の迂回が企てられる場合がある。しかしながら、リモートリソースによってソフトウェアベースセキュリティ(例えば、LAM106、OSLAM108及びOSLAM108により用いられる秘密鍵の一部又は全部)をインストールすることができるので、新しいオペレーティングシステムがハードウェアベースセキュリティの求めるメッセージングを提供することはない。よって、ユーザー認証リカバリが実行されてセキュリティがリセットされるまでデバイスはパワーダウンを継続し、場合によっては、ロックアウト状態となる。
工程400において、デバイスが起動されてよい。デバイスの起動には、一般に、パワーダウン状態のデバイスのスイッチを入れることや電源を入れること、パワーダウン状態のデバイスをブートすること、デバイスをパワーダウン状態からリブートすることや再起動すること等が含まれてよい。デバイスが起動されると、工程402において、当該デバイスがリモートリソースに接続しているか否かが判定されてよい。例えば、デバイスが有線接続又は無線接続を介してインターネットに接続されているか否かが判定されてよく、更に、有線接続又は無線接続を用いてコンピューティングデバイス(例えばサーバー)とコンタクト可能であるか否かが判定されてよい。工程402でデバイスがリモートリソースと接続されていないと判定された場合、工程404において、当該デバイスにおいて秘密鍵が既に確立されているか否かが更に判定されてよい。例えば、デバイスが未使用である(例えば、最近購入された)場合や、OSが上書きされた(例えば、誰かがハードウェアの再利用を試みている)場合等では、デバイスに秘密鍵が存在しない可能性がある。工程404でデバイスにおいて秘密鍵が確立されていないと判定された場合、工程406において、デバイスをリモートリソースに接続してセキュリティをセットアップする必要があることを知らせる通知が、当該デバイスによって提示されてよい(例えば、当該デバイスのユーザーインターフェースに表示されてよい)。工程408において、デバイスはシャットダウンされてよく、更に任意に、例えばデバイスが再び有効化される場合は、工程400に戻ってよい。秘密鍵が存在すると判定された場合、工程410において、デバイスにおいてハードウェアによるアクセス保護が有効化されてよい(図5に例を示す)。
工程402でデバイスがリモートリソースに接続されていると判定された場合、工程412において、当該デバイスの有効化(例えば、セキュリティセットアップの要求)が初回であるか否かが更に判定されてよい。この判定は、デバイスにおいて秘密鍵が確立されているか否かや、デバイスに関するシリアルナンバーがリモートリソースに登録されたとして記録されているか否か等の様々な因子に基づいてなされてよい。工程412でデバイスの有効化が初回であると判定された場合、工程414において、ユーザー情報の質問を実行して、デバイスの所有者についての情報(デバイス所有者登録、保証書、ユーザー認証リカバリでの後の使用等について)を取得してよく、また、リモートリソースから当該デバイスにセキュリティソフトウェアがダウンロードされてよい。一実施形態において、セキュリティソフトウェアには、少なくともLAM及びOSLAMのうち一部又は全部が含まれてよい。それから工程416においてリモートリソースからデバイスに秘密鍵が提供されてよく、工程410においてハードウェアによるアクセス保護が有効化されてよい。
工程412でデバイスの有効化が初回でないと判定された場合、工程418においてユーザー認証リカバリが有効化されてよい。例えば、デバイスユーザーにユーザー名及びパスワード情報の提供を要求してもよく、初回の有効化中に提供された情報に基づくチャレンジクエスチョンへの回答を要求してもよく、生体認証情報の提供を要求してもよい。それから、工程420において、ユーザー認証がリカバリされたか否か(例えば、ユーザーがデバイスの既知のユーザーとして確認されたか否か)が判定されてよい。工程420でユーザー認証がリカバリされないと判定された場合、工程410において、デバイスを不正アクセスから保護するためにハードウェアによるアクセス保護を開始してよい。ユーザー認証がリカバリされた場合、工程422においてデバイスのセキュリティがリセットされてよく(例えば、新しいパスワードが設定されてよく、既存の秘密鍵が削除されてよい)、工程416においてリモートリソースによりデバイスに秘密鍵が提供されてよい。工程410において、デバイスにおいてハードウェアによるアクセス保護が有効化されてよい。
図5は、本開示の少なくとも1つの実施形態に係る、ハードウェアによるアクセス保護の例示的工程を示すフローチャートである。図5に示す工程は、デバイスのSUAMの観点からのものである。工程500において、ユーザーによるデバイスへのログインを要求する状況が検知されてよい。例えば、デバイスがパワーダウンされ再有効化された場合であってもよいし、デバイスにおいてセキュリティ構成が変更された場合であってもよいし、デバイス及び/又は環境のコンテクストが変更されログインポリシーによりログインが命令される場合であってもよい。それから工程502において、デバイスがロックアウト状態であるか否かが判定されてよい。工程502でデバイスがロックアウト状態であると判定された場合、工程504において、デバイスが再びアクセスされる前にユーザー認証リカバリの実行が必要であることを指示する通知が提示されてよい(例えば、デバイスのユーザーインターフェースに表示されてよい)。その後、アクセスが拒否されてよく(例えば、デバイスがシャットダウンされてよい)、デバイスは任意に工程500に戻ってよく、工程500においてログインを要求する状況が検知されてよい。
工程502でデバイスがロックアウト状態でないと判定された場合、工程508において待機タイマーが開始されてよい。工程510において、SLSMが受信されたか否かが判定されてよい。工程510でSLSMが受信されたと判定された場合、工程512において、受信されたSLSMが認証可能であるか否かが更に判定されてよい。工程512でSLSMが認証されたと判定された場合、工程514において、暗号化された認証メッセージが送信されてよい。その後、デバイスは任意に、工程500におけるログインを要求する状況の検知に戻ってよい。工程512で署名付きログイン成功メッセージが認証不可能である場合、工程508において待機タイマーが再開されてよく、SUAMは、工程510及び工程516においてSLSMの受信の待機を継続してよい。工程516において、SLSMを受信することなく待機タイマーが満了したと判定された場合、工程518において、デバイスにおいてログイン試行が所定数を満たしたか或いは超過したか否かが更に判定されてよい。工程518でログイン試行回数が所定数を満たしたか或いは超過したと判定された場合、工程520においてデバイスがロックアウト状態にされてよく、工程504においてロックアウト状態の通知が再提示されてよい。工程518でログイン試行回数が所定数を満たさなかったと判定された場合、工程506においてアクセスが拒否されてよく(例えば、デバイスがシャットダウンされてよい)、その後、任意に工程500に戻ってログイン状況を再検知してよい。
図4及び図5では異なる実施形態に係る様々な工程を示したが、当然ながら、他の実施形態では図4及び図5に示す工程が全て必要であるわけではない。実際、本明細書で十分に考慮されているように、本開示の他の実施形態では、図4及び図5に示す工程並びに/又は本明細書に記載の他の工程が、どの図面にも特に示されていないが本開示に十分に従う方法で組み合わされてよい。よって、厳密には特定の図面に示されていない特徴及び/又は工程を対象とする請求項は、本開示の範囲及び内容に包含されるものとみなされる。
本明細書に記載の実施形態で用いられる場合、「モジュール」という用語は、上述の工程のうち任意のものを実行するように構成されるソフトウェア、ファームウェア及び/又は回路を意味し得る。ソフトウェアは、非一時的なコンピューター可読記憶媒体に記録されるソフトウェアパッケージ、コード、命令、命令セット及び/又はデータとして具現化されてよい。ファームウェアは、メモリデバイスにおいてハードコードされる(例えば、不揮発性の)コード、命令若しくは命令セット、及び/又はデータとして具現化されてよい。「回路」は、本明細書に記載の実施形態で用いられる場合、例えば、ハードワイヤード回路、1又は複数の個別の命令処理コアを含むコンピュータープロセッサ等のプログラマブル回路、状態機械回路、及び/又はプログラマブル回路により実行される命令を格納するファームウェアを、単一又は任意の組合わせで有してよい。モジュールは、集合的に又は個別に、大きなシステム(集積回路(IC)、システム・オン・チップ(SoC)、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、サーバー、スマートフォン等)の一部を成す回路として具現化されてよい。
本明細書に記載の工程のうち任意のものは、1又は複数のプロセッサにより実行された場合に本方法を実行する命令を個別又は組み合わせで格納する1又は複数の記憶媒体を有するシステムにおいて実施されてよい。プロセッサの例としては、サーバーCPU、モバイルデバイスCPU及び/又は他のプログラマブル回路が挙げられる。また、本明細書に記載の工程は、1以上の異なる物理的場所に存在する処理構造等の、複数の物理的デバイスに分散されてよい。記憶媒体の例としては、任意の種類の有形媒体が挙げられる。例えば、任意の種類のディスク(ハードディスク、フロッピー(登録商標)ディスク、光ディスク、CD−ROM(compact disk read-only memory)、CD−RW(compact disk rewritable)、光磁気ディスク等)、半導体デバイス(ROM、ダイナミックRAMやスタティックRAM等のランダムアクセスメモリ(random access memory:RAM)、EPROM(erasable programmable read-only memory)、EEPROM(electrically erasable programmable read-only memory)、フラッシュメモリ、ソリッドステートディスク(SSD)、eMMC(登録商標)等)、SDIO(secure digital input/output)カード、磁気カード、光学カードといった、電子的命令の格納に適する任意の種類の媒体が挙げられる。他の実施形態は、プログラマブル制御デバイスにより実行されるソフトウェアモジュールとして実施されてよい。
このように、本開示は、ハードウェアによるアクセス保護に関するシステム及び方法を対象とする。例示的デバイスは、ログインエージェントモジュール(LAM)、オペレーティングシステムログイン認証モジュール(OSLAM)及びセキュアユーザー認証モジュール(SUAM)を有してよい。LAMは、ログイン情報を要求するプロンプトをデバイスにより提示させるように構成されてよい。そして、LAMはログイン情報をOSLAMに提供してよい。OSLAMは、既知ユーザー情報を用いてログイン情報を認証するように構成されてよい。ログイン情報が認証された場合、OSLAMは秘密鍵を用いて署名付きログイン成功メッセージを生成し、当該署名付きログイン成功メッセージをSUAMに送信してよい。SUAMは、デバイスファームウェアによりロードされるセキュアな/信頼できる(trusted)ソフトウェアであってよく、署名付きログイン成功メッセージを認証するように構成されてよい。署名付きログイン成功メッセージが認証された場合、SUAMは暗号化された認証メッセージをOSLAMに送信してよい。暗号化された認証メッセージが認証された場合、OSLAMはデバイスへのアクセスを許可してよい。
以下の例は、更なる実施形態に関する。例示的な一実施形態において、デバイスが提供される。該デバイスは、ログインエージェントモジュール、セキュアユーザー認証モジュール及びオペレーティングシステムログイン認証モジュールを有してよい。ログインエージェントモジュールは、デバイスに入力されるべきログイン情報を要求するプロンプトを、デバイスのユーザーインターフェースにより提示させるように構成される。セキュアユーザー認証モジュールは、署名付きログイン成功メッセージの受信に基づいて、暗号化された認証メッセージを送信するように構成される。オペレーティングシステムログイン認証モジュールは、ログイン情報をログインエージェントモジュールから受信し、当該ログイン情報に基づいて、署名付きログイン成功メッセージをセキュアユーザー認証モジュールに送信するように構成される。
上記の例示的デバイスは、更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージを認証することに基づいて、暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに送信するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、暗号化された認証メッセージの受信及び認証に基づいて、デバイスへのアクセスを許可するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、デバイスのファームウェアにより、デバイスのトラステッド・エグゼキューション・エンバイロンメントにロードされるように構成されてよい。この構成において、例示的デバイスは更に、ファームウェアインターフェースモジュールを有してよい。ファームウェアインターフェースモジュールは、オペレーティングシステムログイン認証モジュールからの署名付きログイン成功メッセージをセキュアユーザー認証モジュールに伝達し、セキュアユーザー認証モジュールからの暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに伝達するように構成されてよい。
上記の例示的デバイスは、更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、既知ユーザー情報と対照してログイン情報を認証するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、既知ユーザー情報を用いて秘密鍵を保護する(secure)ように構成されてよい。当該秘密鍵は、ログイン情報が既知ユーザー情報と対照して認証された場合にアクセス可能である。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、秘密鍵を用いて署名付きログイン成功メッセージを生成するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、秘密鍵は、デバイスのトラステッド・エグゼキューション・エンバイロンメントにより暗号化されてよい。
上記の例示的デバイスは更に、セキュアログインポリシーモジュールを有してよい。セキュアログインポリシーモジュールは、少なくともデバイスに関するコンテクストを判定し、当該コンテクストに基づいて、ログインエージェントモジュールとオペレーティングシステムログイン認証モジュールのうち少なくとも1つに対して、ログインポリシーを設定するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージが受信されない場合にデバイスをシャットダウンさせるように構成されてよい。また、セキュアログインポリシーモジュールは更に、セキュアユーザー認証モジュールがデバイスをシャットダウンさせる前に署名付きログイン成功メッセージの受信を待機する時間を設定するように構成されてよい。
上記の例示的デバイスは更に、認証リカバリモジュールを有してよい。認証リカバリモジュールは、リモートリソースと通信することによってユーザー関連セキュリティを再構成するように構成されてよい。
別の例示的実施形態では、方法が提供される。該方法は、デバイスを起動するステップと、デバイスがリモートリソースに接続されているか否かを判定するステップと、デバイスがリモートリソースに接続されているという判定に基づいて、初回の有効化を実行するかユーザー認証リカバリを実行するかを決定するステップと、デバイスがリモートリソースに接続されていないという判定に基づいて、デバイスにおいて秘密鍵が確立されているか否かを判定するステップと、を含んでよい。
上記の例示的方法は、更に以下のように構成されてよい。すなわち、リモートリソースは、ネットワーク接続を介してアクセス可能なコンピューティングデバイスであってよい。
上記の例示的方法は更に、初回の有効化を実行するという判定に基づいて、リモートリソースからデバイスにセキュリティソフトウェア及び秘密鍵を提供するステップ、を含んでよい。この構成において、例示的方法は更に、ユーザー認証リカバリを実行するという判定に基づいて、ユーザー認証リカバリの完了が成功した場合に、デバイスセキュリティをリセットし、リモートリソースからデバイスに秘密鍵を提供するステップ、を含んでよい。
上記の例示的方法は更に、デバイスにおいて秘密鍵が確立されていないという判定に基づいて、セキュリティ構成のためにデバイスをリモートリソースに接続する通知を発するステップ、を含んでよい。
別の例示的実施形態では、方法が提供される。本方法は、デバイスへのログインが要求されることを検知するステップと、デバイスがロックアウト状態であるか否かを判定するステップと、デバイスがロックアウト状態であるという判定に基づいて、ユーザー認証リカバリが要求されることを指示する通知を行い、デバイスをシャットダウンするステップと、デバイスがロックアウト状態でないという判定に基づいて、署名付きログイン成功メッセージの受信を待機するステップと、を含んでよい。
上記の例示的方法は更に、署名付きログイン成功メッセージの受信及び認証に基づいて、暗号化された認証メッセージを送信するステップ、を含んでよい。
上記の例示的方法は更に、デバイスにおいて、署名付きログイン成功メッセージの受信を待機する時間を確立する待機タイマーを開始するステップ、を含んでよい。この構成において、例示的方法は更に、署名付きログインメッセージを受信することなく待機タイマーが満了することに基づき、ログイン試行が所定回数を超過したか否かを判定するステップと、ログイン試行が所定回数を超過したという判定に基づいて、デバイスをロックアウト状態にするステップと、を含んでよい。
別の例示的実施形態では、少なくともデバイスを含むシステムが提供される。本システムは、上記の例示的方法のうちいずれかを実行するように構成される。
別の例示的実施形態では、上記の例示的方法のうちいずれかを実行するように構成されるチップセットが提供される。
別の例示的実施形態では、複数の命令を含む少なくとも1つの機械可読媒体が提供される。当該複数の命令は、コンピューティングデバイス上で実行されることに応じて、当該コンピューティングデバイスに上記の例示的方法のうちいずれかを実行させる。
別の例示的実施形態では、ハードウェアによるアクセス保護用に構成されるデバイスであって、上記の例示的方法のうちいずれかを実行するように構成されるデバイスが提供される。
別の例示的実施形態では、少なくとも1つの機械可読記憶媒体を含むシステムが提供される。当該少なくとも1つの機械可読記憶媒体は、個別に又は組み合わせで命令を格納しており、当該命令が1又は複数のプロセッサにより実行された場合、システムは上記の例示的方法のうちいずれかを実行することになる。
別の例示的実施形態では、デバイスが提供される。該デバイスは、ログインエージェントモジュール、セキュアユーザー認証モジュール及びオペレーティングシステムログイン認証モジュールを有してよい。ログインエージェントモジュールは、デバイスに入力されるべきログイン情報を要求するプロンプトを、デバイスのユーザーインターフェースにより提示させるように構成される。セキュアユーザー認証モジュールは、署名付きログイン成功メッセージの受信に基づいて、暗号化された認証メッセージを送信するように構成される。オペレーティングシステムログイン認証モジュールは、ログイン情報をログインエージェントモジュールから受信し、当該ログイン情報に基づいて、署名付きログイン成功メッセージをセキュアユーザー認証モジュールに送信するように構成される。
上記の例示的デバイスは、更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージを認証することに基づいて、暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに送信するように構成されてよい。ここで、オペレーティングシステムログイン認証モジュールは更に、暗号化された認証メッセージの受信及び認証に基づいて、デバイスへのアクセスを許可するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、ファームウェアにより、デバイスのトラステッド・エグゼキューション・エンバイロンメントにロードされるように構成されてよい。該デバイスは更に、ファームウェアインターフェースモジュールを有してよい。ファームウェアインターフェースモジュールは、オペレーティングシステムログイン認証モジュールからの署名付きログイン成功メッセージをセキュアユーザー認証モジュールに伝達し、セキュアユーザー認証モジュールからの暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに伝達するように構成されてよい。
上記の例示的デバイスは更に、以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、秘密鍵を保護(secure)するように構成される既知ユーザー情報に対照してログイン情報を認証し、既知ユーザー情報に対照してログイン情報が認証された場合に、秘密鍵を用いて署名付きログイン成功メッセージを生成するように構成されてよい。
上記の例示的デバイスは更に、セキュアログインポリシーモジュールを有してよい。セキュアログインポリシーモジュールは、少なくともデバイスに関するコンテクストを判定し、当該コンテクストに基づいて、ログインエージェントモジュールとオペレーティングシステムログイン認証モジュールのうち少なくとも1つに対して、ログインポリシーを設定し、セキュアユーザー認証モジュールがデバイスをシャットダウンさせる前に署名付きログイン成功メッセージの受信を待機する時間を設定するように構成される。
別の例示的実施形態では、方法が提供される。該方法は、デバイスを起動するステップと、デバイスがリモートリソースに接続されているか否かを判定するステップと、デバイスがリモートリソースに接続されているという判定に基づいて、初回の有効化を実行するかユーザー認証リカバリを実行するかを決定するステップと、デバイスがリモートリソースに接続されていないという判定に基づいて、デバイスにおいて秘密鍵が確立されているか否かを判定するステップと、を含んでよい。
上記の例示的方法は更に、初回の有効化を実行するという判定に基づいて、リモートリソースからデバイスにセキュリティソフトウェア及び秘密鍵を提供するステップ、を含んでよい。
上記の例示的方法は更に、ユーザー認証リカバリを実行するという判定に基づいて、ユーザー認証リカバリの完了が成功した場合に、デバイスセキュリティをリセットし、リモートリソースからデバイスに秘密鍵を提供するステップ、を含んでよい。
上記の例示的方法は更に、デバイスにおいて秘密鍵が確立されていないという判定に基づいて、セキュリティ構成のためにデバイスをリモートリソースに接続する通知を発するステップ、を含んでよい。
別の例示的実施形態では、方法が提供される。該方法は、デバイスへのログインが要求されることを検知するステップと、デバイスがロックアウト状態であるか否かを判定するステップと、デバイスがロックアウト状態であるという判定に基づいて、ユーザー認証リカバリが要求されることを指示する通知を行い、デバイスをシャットダウンするステップと、andデバイスがロックアウト状態でないという判定に基づいて、署名付きログイン成功メッセージの受信を待機するステップと、を含んでよい。
上記の例示的方法は更に、署名付きログイン成功メッセージの受信及び認証に基づいて、暗号化された認証メッセージを送信するステップ、を含んでよい。
上記の例示的方法は更に、デバイスにおいて、署名付きログイン成功メッセージの受信を待機する時間を確立する待機タイマーを開始するステップ、を含んでよい。この構成において、上記の例示的方法は更に、署名付きログインメッセージを受信することなく待機タイマーが満了することに基づき、ログイン試行が所定回数を超過したか否かを判定するステップと、ログイン試行が所定回数を超過したという判定に基づいて、デバイスをロックアウト状態にするステップと、を含んでよい。
別の例示的実施形態では、少なくともデバイスを含むシステムであって、上記の例示的方法のうちいずれかを実行するように構成されるシステムが提供される。
別の例示的実施形態では、複数の命令を含む少なくとも1つの機械可読媒体が提供される。当該複数の命令は、コンピューティングデバイス上で実行されることに応じて、当該コンピューティングデバイスに上記の例示的方法のうちいずれかを実行させる。
例示的な一実施形態において、デバイスが提供される。該デバイスは、ログインエージェントモジュール、セキュアユーザー認証モジュール及びオペレーティングシステムログイン認証モジュールを有してよい。ログインエージェントモジュールは、デバイスに入力されるべきログイン情報を要求するプロンプトを、デバイスのユーザーインターフェースにより提示させるように構成される。セキュアユーザー認証モジュールは、署名付きログイン成功メッセージの受信に基づいて、暗号化された認証メッセージを送信するように構成される。オペレーティングシステムログイン認証モジュールは、ログイン情報をログインエージェントモジュールから受信し、当該ログイン情報に基づいて、署名付きログイン成功メッセージをセキュアユーザー認証モジュールに送信するように構成される。
上記の例示的デバイスは、更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージを認証することに基づいて、暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに送信するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、暗号化された認証メッセージの受信及び認証に基づいて、デバイスへのアクセスを許可するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、デバイスのファームウェアにより、デバイスのトラステッド・エグゼキューション・エンバイロンメントにロードされるように構成されてよい。この構成において、例示的デバイスは更に、ファームウェアインターフェースモジュールを有してよい。ファームウェアインターフェースモジュールは、オペレーティングシステムログイン認証モジュールからの署名付きログイン成功メッセージをセキュアユーザー認証モジュールに伝達し、セキュアユーザー認証モジュールからの暗号化された認証メッセージをオペレーティングシステムログイン認証モジュールに伝達するように構成されてよい。
上記の例示的デバイスは、更に以下のように構成されてよい。オペレーティングシステムログイン認証モジュールは更に、既知ユーザー情報と対照してログイン情報を認証するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、既知ユーザー情報を用いて秘密鍵を保護(secure)するように構成されてよい。当該秘密鍵は、ログイン情報が既知ユーザー情報と対照して認証された場合にアクセス可能である。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、オペレーティングシステムログイン認証モジュールは更に、秘密鍵を用いて署名付きログイン成功メッセージを生成するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、秘密鍵は、デバイスのトラステッド・エグゼキューション・エンバイロンメントにより暗号化されてよい。
上記の例示的デバイスは更に、セキュアログインポリシーモジュールを有してよい。セキュアログインポリシーモジュールは、少なくともデバイスに関するコンテクストを判定し、当該コンテクストに基づいて、ログインエージェントモジュールとオペレーティングシステムログイン認証モジュールのうち少なくとも1つに対して、ログインポリシーを設定するように構成されてよい。この構成において、例示的デバイスは更に以下のように構成されてよい。すなわち、セキュアユーザー認証モジュールは更に、署名付きログイン成功メッセージが受信されない場合にデバイスをシャットダウンさせるように構成されてよい。また、セキュアログインポリシーモジュールは更に、セキュアユーザー認証モジュールがデバイスをシャットダウンさせる前に署名付きログイン成功メッセージの受信を待機する時間を設定するように構成されてよい。
上記の例示的デバイスは更に、認証リカバリモジュールを有してよい。認証リカバリモジュールは、リモートリソースと通信することによってデバイにおけるユーザー関連セキュリティを再構成するように構成されてよい。
別の例示的実施形態では、方法が提供される。該方法は、デバイスを起動するステップと、デバイスがリモートリソースに接続されているか否かを判定するステップと、デバイスがリモートリソースに接続されているという判定に基づいて、初回の有効化を実行するかユーザー認証リカバリを実行するかを決定するステップと、デバイスがリモートリソースに接続されていないという判定に基づいて、デバイスにおいて秘密鍵が確立されているか否かを判定するステップと、を含んでよい。
上記の例示的方法は、更に以下のように構成されてよい。すなわち、該リモートリソースは、ネットワーク接続を介してアクセス可能なコンピューティングデバイスであってよい。
上記の例示的方法は更に、初回の有効化を実行するという判定に基づいて、リモートリソースからデバイスにセキュリティソフトウェア及び秘密鍵を提供するステップ、を含んでよい。この構成において、例示的方法は更に、ユーザー認証リカバリを実行するという判定に基づいて、ユーザー認証リカバリの完了が成功した場合に、デバイスセキュリティをリセットし、リモートリソースからデバイスに秘密鍵を提供するステップ、を含んでよい。
上記の例示的方法は更に、デバイスにおいて秘密鍵が確立されていないという判定に基づいて、セキュリティ構成のためにデバイスをリモートリソースに接続する通知を発するステップ、を含んでよい。
別の例示的実施形態では、方法が提供される。該方法は、デバイスへのログインが要求されることを検知するステップと、デバイスがロックアウト状態であるか否かを判定するステップと、デバイスがロックアウト状態であるという判定に基づいて、ユーザー認証リカバリが要求されることを指示する通知を行い、デバイスをシャットダウンするステップと、デバイスがロックアウト状態でないという判定に基づいて、署名付きログイン成功メッセージの受信を待機するステップと、を含んでよい。
上記の例示的方法は更に、署名付きログイン成功メッセージの受信及び認証に基づいて、暗号化された認証メッセージを送信するステップ、を含んでよい。
上記の例示的方法は更に、デバイスにおいて、署名付きログイン成功メッセージの受信を待機する時間を確立する待機タイマーを開始するステップ、を含んでよい。この構成において、例示的方法は更に、署名付きログインメッセージを受信することなく待機タイマーが満了することに基づき、ログイン試行が所定回数を超過したか否かを判定するステップと、ログイン試行が所定回数を超過したという判定に基づいて、デバイスをロックアウト状態にするステップと、を含んでよい。
別の例示的実施形態では、システムが提供される。該システムは、デバイスを起動する手段と、デバイスがリモートリソースに接続されているか否かを判定する手段と、デバイスがリモートリソースに接続されているという判定に基づいて、初回の有効化を実行するかユーザー認証リカバリを実行するかを決定する手段と、デバイスがリモートリソースに接続されていないという判定に基づいて、デバイスにおいて秘密鍵が確立されているか否かを判定する手段と、を含んでよい。
上記の例示的システムは、更に以下のように構成されてよい。すなわち、該リモートリソースは、ネットワーク接続を介してアクセス可能なコンピューティングデバイスであってよい。
上記の例示的システムは更に、初回の有効化を実行するという判定に基づいて、リモートリソースからデバイスにセキュリティソフトウェア及び秘密鍵を提供する手段を含んでよい。この構成において、例示的システムは更に、ユーザー認証リカバリを実行するという判定に基づいて、ユーザー認証リカバリの完了が成功した場合に、デバイスセキュリティをリセットし、リモートリソースからデバイスに秘密鍵を提供する手段を含んでよい。
上記の例示的システムは更に、デバイスにおいて秘密鍵が確立されていないという判定に基づいて、セキュリティ構成のためにデバイスをリモートリソースに接続する通知を発する手段を含んでよい。
別の例示的実施形態では、システムが提供される。該システムは、デバイスへのログインが要求されることを検知する手段と、デバイスがロックアウト状態であるか否かを判定する手段と、デバイスがロックアウト状態であるという判定に基づいて、ユーザー認証リカバリが要求されることを指示する通知を行い、デバイスをシャットダウンする手段と、デバイスがロックアウト状態でないという判定に基づいて、署名付きログイン成功メッセージの受信を待機する手段と、を含んでよい。
上記の例示的システムは更に、署名付きログイン成功メッセージの受信及び認証に基づいて、暗号化された認証メッセージを送信する手段、を含んでよい。
上記の例示的システムは更に、デバイスにおいて、署名付きログイン成功メッセージの受信を待機する時間を確立する待機タイマーを開始する手段を含んでよい。この構成において、例示的システムは更に、署名付きログインメッセージを受信することなく待機タイマーが満了することに基づき、ログイン試行が所定回数を超過したか否かを判定する手段と、ログイン試行が所定回数を超過したという判定に基づいて、デバイスをロックアウト状態にする手段と、を含んでよい。
本明細書で採用された用語及び表現は、説明の用語として用いられており、限定ではない。そのような用語及び表現を用いることに、図示された特徴及び記載された特徴(又はそれらの一部)の均等物を除外する意図はない。当然ながら、特許請求の範囲において様々な変更が可能である。したがって、そのような均等物は全て特許請求の範囲に包含されるものとする。