(57)【特許請求の範囲】
【請求項１】
コンピュータシステム上において、ブート前ログインをサポートするための方法であって、
前記コンピュータシステムがブートを完了する前に、物理キーボードを用いたユーザによって入力されたあるパスワードを、前記コンピュータシステムのＢＩＯＳによって受け取り、
前記入力されたパスワードが正しいのかどうかを前記ＢＩＯＳにより判定し、及び、
前記入力されたパスワードが正しくない場合には、前記ユーザのパスワードの文字を前記ユーザが選択できるソフトキーボードを前記ＢＩＯＳにより前記ユーザに対して表示する
ことを含む、方法。
【請求項２】
前記あるパスワードをＢＩＯＳによって受け取ることは、前記コンピュータシステムのオペレーティングシステムが立ち上がって作動する前に、該パスワードを該ＢＩＯＳによって受け取ることを含むことからなる、請求項１に記載の方法。
【請求項３】
前記ソフトキーボードを前記ＢＩＯＳにより表示することは、所与のキーボード配列で直接タイプされ得る全文字を表示することを含むことからなる、請求項１又は２に記載の方法。
【請求項４】
前記ソフトキーボード内に表示された文字の選択内容を前記ＢＩＯＳにより受け取ることを更に含む、請求項１又は２に記載の方法。
【請求項５】
前記文字の選択内容を前記ＢＩＯＳにより受け取ることは、ポインティングデバイスで前記ユーザによって入力された選択内容を前記ＢＩＯＳにより登録することを含むことからなる、請求項４に記載の方法。
【請求項６】
コンピュータシステム上において使用するための基本入出力システム（ＢＩＯＳ）を格納するコンピュータ可読媒体であって、該ＢＩＯＳが、
前記コンピュータシステムがブートを完了する前に、物理キーボードを用いたユーザによって入力されたあるパスワードを受け取るよう構成されたロジックと、
前記入力されたパスワードが正しいのかどうかを判定するよう構成されたロジックと、
前記入力されたパスワードが正しくない場合には、前記ユーザのパスワードの文字を前期ユーザが選択できるソフトキーボードを前記ユーザに対して表示するよう構成されたロジック
とを含むことからなる、コンピュータ可読媒体。
【請求項７】
前記あるパスワードを受け取るよう構成された前記ロジックは、前記コンピュータシステムのオペレーティングシステムが立ち上がって作動する前に、該パスワードを受け取るよう構成されたロジックを含むことからなる、請求項６に記載のコンピュータ可読媒体。
【請求項８】
前記ソフトキーボードを表示するよう構成された前記ロジックは、所与のキーボード配列で直接タイプされ得る全文字を表示するよう構成されたロジックを含むことからなる、請求項６又は７に記載のコンピュータ可読媒体。
【請求項９】
前記ソフトキーボード内に表示された文字の選択内容を受け取るよう構成されたロジックを更に含む、請求項６又は７に記載のコンピュータ可読媒体。
【請求項１０】
前記文字の選択内容を受け取るよう構成されたロジックは、ポインティングデバイスで前記ユーザによって入力された選択内容を登録するよう構成されたロジックを含むことからなる、請求項９に記載のコンピュータ可読媒体。
【請求項１１】
コンピュータシステムであって、
処理装置と、
ＢＩＯＳとオペレーティングシステムとを格納するメモリ
とを備え、
前記ＢＩＯＳが、
前記コンピュータシステムがブートを完了する前に、物理キーボードを用いたユーザによって入力されたあるパスワードを受け取り、
前記入力されたパスワードが正しいのかどうかを判定し、及び、
前記入力されたパスワードが正しくない場合には、前記ユーザのパスワードの文字を前記ユーザが選択できるソフトキーボードを前記ユーザに対して表示する
よう構成されていることからなる、コンピュータシステム。
【請求項１２】
前記オペレーティングシステムが立ち上がって作動する前に、該パスワードを受け取るよう前記ＢＩＯＳが構成されていることからなる、請求項１１に記載のコンピュータシステム。
【請求項１３】
所与のキーボード配列で直接タイプされ得る全文字を前記ソフトキーボード内において表示するよう前記ＢＩＯＳが構成されていることからなる、請求項１１又は１２に記載のコンピュータシステム。
【請求項１４】
前記ソフトキーボード内に表示された文字の選択内容を受け取るよう前記ＢＩＯＳが更に構成されていることからなる、請求項１１又は１２に記載のコンピュータシステム。
【請求項１５】
ポインティングデバイスで前記ユーザによって入力された選択内容を登録するよう前記ＢＩＯＳが構成されていることからなる、請求項１４に記載のコンピュータシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
現在では、コンピュータを操作可能にする前にユーザにログインを求めることがよくある。通常、そうしたログインはオペレーティングシステム環境で実行される。即ち、コンピュータがブート（起動）した後にログインが実行され、オペレーティングシステムが動作する。したがって、ログインを制御して、ユーザを認証するのは、オペレーティングシステムか、オペレーティングシステム環境で動作するプログラムかになる。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】特開２０００−５６９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
近年、ＢＩＯＳ（Ｂａｓｉｃ Ｉｎｐｕｔ／Ｏｕｔｐｕｔ Ｓｙｓｔｅｍ）の制御下でコンピュータをブートする前に、セキュリティログインを行うことが提案されている。ブート前段階でログインを実行することで、非認証ユーザが、オペレーティングシステムだけではなく、ハードドライブ等のコンピュータのハードウェアにもアクセスするのを阻止できる。ブート前ログインは魅力的だが、その実装に関しては 問題がある。例えば、オペレーティングシステム環境で使用可能であるユニコード（Ｕｎｉｃｏｄｅ）のパスワードが、ＢＩＯＳ環境で完全に対応できるわけではない。具体的には、パスワードの文字をユーザが物理的なキーボードを使用して直接入力できなければ、ユーザがパスワードをＢＩＯＳ環境で入力できない。その場合、コンピュータはブートせず、機能しない可能性がある。
【図面の簡単な説明】
【０００４】
【図１】ブート前ログインに対応するよう構成したコンピュータシステムの１実施形態のブロック図である。
【図２Ａ】ブート前ログインに対応する方法の１実施形態を示すフローチャートを示す。
【図２Ｂ】ブート前ログインに対応する方法の１実施形態を示すフローチャートを示す。
【図３Ａ】図１に示したＢＩＯＳセキュリティマネージャの動作に関する第１実施形態について説明するフローチャートを示す。
【図３Ｂ】図１に示したＢＩＯＳセキュリティマネージャの動作に関する第１実施形態について説明するフローチャートを示す。
【図４】図１に示したＢＩＯＳセキュリティマネージャの動作に関する第２実施形態について説明するフローチャートである。
【実施例】
【０００５】
開示したシステム及び方法について、図面を参照して一層よく理解できるであろう。図面にあるコンポーネントは、必ずしも正確な縮尺ではない。
【０００６】
上述したように、認証ユーザが、オペレーティングシステム環境内で選択したパスワードをＢＩＯＳ環境に入力できなければ、ブート前ログインが求められた場合、ユーザはコンピュータシステムをブートできない。後述するように、パスワード選択時に、実際にユーザのキーボードでパスワードを直接入力できるかを確認することで、そうした状況を回避できる。また、実施形態によっては、仮想又は「ソフト」キーボードを表示して、仮定キーボード配列がユーザの実際のキーボード配列と一致しない状況をユーザに説明してもよい。
【０００７】
図面（同一番号は複数の図面を通して同等の部品を表す）を参照すると、図１では、ブート前ログインに対応するコンピュータシステム１００の例を示す。用語「ブート前ログイン」は、本明細書では、コンピュータシステムがブートを完了する前で且つオペレーティングシステムが立ち上がり作動する前にＢＩＯＳの制御下で実行するログイン処理のこととする。
【０００８】
コンピュータシステム１００は、ありとあらゆる構成を有することができる。例えば、システム１００を、数例を挙げると、デスクトップコンピュータ、ノートパソコン、サーバコンピュータ、携帯型コンピュータデバイスとして、構成できる。とにかく、図１の実施形態では、コンピュータシステム１００は、処理装置１０２と、メモリ１０４と、ユーザインタフェース１０６と、少なくとも１つのＩ／Ｏデバイス１０８とを備え、夫々をローカルインタフェース１１０に接続する。処理装置１０２は、メモリ１０４に保存されたコマンドを実行する中央演算処理装置（ＣＰＵ）又は半導体ベースのマイクロプロセッサを備えることができる。メモリ１０４は、揮発性メモリ素子（例えば、ＲＡＭモジュール）又は不揮発性メモリ素子（例えば、ハードディスク、ＲＯＭモジュール等）又はこれらの組み合わせを含む。
【０００９】
ユーザインタフェース１０６は、ユーザがコンピュータシステム１００と相互に作用するコンポーネントを備える。ユーザインタフェース１０６は、例えばキーボード、マウス、液晶ディスプレイ（ＬＣＤ）等のディスプレイを備えてもよい。１つ又は複数のＩ／Ｏデバイス１０８は、他のデバイスと容易に通信できるように構成し、変／復調装置（例えば、モデム）、ワイヤレス機器（例えば、ＲＦトランシーバ）、ネットワークカード等の通信コンポーネントの１つ又は複数を含んでもよい。
【００１０】
メモリ１０４は、ＢＩＯＳ１１２、オペレーティングシステム１１４、オペレーティングシステム環境で実行するように構成された１つ又は複数のユーザアプリケーションを含む、様々なプログラム（即ち、ロジック）を備える。ＢＩＯＳ１１２は通常、コンピュータシステム１００をブートし、オペレーティングシステム１１４等の他のプログラムがシステム制御を担うことを可能にする機能を果たす。図１で示すように、ＢＩＯＳ１１２は、以下で更に詳述するように、コンピュータシステム１００でブート前ログインに対応するセキュリティマネージャ１１８を含む。実施形態によっては、セキュリティマネージャ１１８が、オペレーティングシステム１１４のセキュリティマネージャ１２２と協働動作して、確実に、ユーザがブート前ログイン処理用に選択したパスワードを受付可能にする。実施形態によっては、ＢＩＯＳセキュリティマネージャ１１８が、ＢＩＯＳ１１２のキーボード配列表１２０を参照して、その判定を行なう。また後述するように、ＢＩＯＳセキュリティマネージャ１１８は、実施形態によっては、ＢＩＯＳセキュリティマネージャ１１８が仮定したキーボード配列がユーザの実際の物理的キーボード配列又は地域によるバリエーションと一致しない場合に、仮想又はソフトキーボードをユーザに対して表示して、ユーザが自分のパスワードを通信可能にできる。
【００１１】
図２Ａ及び図２Ｂでは、ブート前ログインに対応する方法の例を説明している。図２Ａのブロック２００から始めると、ユーザはオペレーティングシステム環境で、ブート前パスワード設定を選択する。一例として、ユーザは、ここで初めて、ユーザのコンピュータシステム１００をブートする前にＢＩＯＳ１１２が要求するパスワードを確立してもよい。或いはまた、ユーザは既存のブート前ログインパスワードを変更してもよい。いずれの場合でも、ブロック２０２で示すように、ユーザはオペレーティングシステム１１４で、例えばオペレーティングシステム「ウィザード」又は同様のユーティリティを用いて、パスワードを入力する。ユーザは、様々な方法を用いてパスワードを入力できる。例えば、ユーザは単にパスワードをタイプしてもよい。或いはまた、ユーザは、所定のソース（例えば、ドキュメント、ウェブページ等）からパスワードをコピーして、オペレーティングシステムが提示した入力ブロックにパスワードを貼付けてもよい。
【００１２】
次にブロック２０４を参照すると、パスワードを入力したなら、オペレーティングシステム１１４はユーザのキーボード配列の表示をパスワードと共にＢＩＯＳ１１２に転送する。その情報を用いて、ブロック２０６で示すように、ＢＩＯＳ１１２は、ＢＩＯＳがユーザのキーボード配列に対応するか否かを判定できる。即ち、ＢＩＯＳ１１２により、ＢＩＯＳ１１２がユーザの物理的なキーボードの配列に関する記述を、例えば、ＢＩＯＳ１１２のキーボード配列表１２０に保存するか否かを判定できる。キーボード配列に関する相違の例としては、文字「Nにティルデをつけたもの（エニェ）」を必要とするスペイン語のキーボードと、当該文字を使用しない英語のキーボードとの間の相違がある。従って、２つの異なるキーボードは異なる文字群、異なる物理的位置にある共通文字群、及び／又は異なるキー数を有する可能性があり、その結果夫々エンドユーザは異なる方法でタイプすることになる。決定ブロック２０８を参照すると、キーボード配列が対応していた場合、フローは図２Ｂのブロック２１４へと続く。他方、キーボード配列にＢＩＯＳ１１２が対応していない場合、フローはブロック２１０に続き、ブロック２１０では、ＢＩＯＳがオペレーティングシステム１１４に警報を送り、ユーザのキーボード配列に対応していないことをオペレーティングシステムに通知する。オペレーティングシステム１１４は、次に、ブロック２１２で示すように、その事実についてユーザに通知できる。その時点で、ユーザは、自分のキーボード配列を変更してパスワード選択を再度試せる、或いは単にブート前ログイン機能を使用しないことを選択できる。
【００１３】
ＢＩＯＳ１１２がユーザのキーボード配列に対応しているとすると、次に、ＢＩＯＳは、ユーザが入力したパスワードを、図２Ｂのブロック２１４で示したように、ユーザのキーボードを用いて直接入力できるか否かを判定する。間接的に入力するのとは対照的に、指定したキーボード配列の１つ又は複数のキーボードキーを選択することで、パスワードの各文字を入力できる（即ち、タイプできる）か否かを特に判定する。間接的に入力する例としては、貼付けた文字列の個々の文字を実際にタイプせず、代わりに、ＢＩＯＳ環境では利用不可能な別のソースからコピーする、コピー／貼付け機能を使用することが挙げられる。間接的に入力する更なる例としては、ユーザに提示する文字又は記号（例えば、漢字の語句）を選択する前に、そうした提示をトリガする１つ又は複数のキーボードのキーを入力することが挙げられる。その状況では、文字や記号もユーザは実際にタイプせず、そうした機能もＢＩＯＳ環境で利用不可能である。従って、各文字が、ユーザがタイプできＢＩＯＳ１１２が認識できるものであるか否かを判定する。とりわけ、オペレーティングシステム１１４を、数千又は数万ものユニコード文字を認識するように構成してもよいが、ＢＩＯＳ１１２の能力は遥かに制限されるかも知れない。拒否される可能性がある文字の例としては、ユーザが英語（例えば、米国式）のキーボードを使用している場合の漢字があるが、これはかかるキーボードでは、漢字を提示できないからである。
【００１４】
次に決定ブロック２１６を参照し、キーボードを使用してパスワードの文字群全てを直接入力でき、従ってＢＩＯＳ１１２が認識できたとすると、フローは後述するブロック２２６へと続く。しかしながら、これらの文字の１つ又は複数を、キーボードを使用して直接入力できない場合は、フローは、ＢＩＯＳ１１２がオペレーティングシステム１１４に、パスワードがブート前ログイン用に受付できないと伝える警報を送るブロック２１８へと続く。その後、オペレーティングシステム１１４は、ブロック２２０に示すように、ユーザに新たなパスワードを選択するよう促すことができる。任意には、オペレーティングシステムは、ユーザのキーボードを使用して直接入力できる（即ち、タイプできる）文字のパスワードを選択するようユーザに更に要求できる。
【００１５】
ユーザが更にパスワードを設定したいと望む場合、ブロック２２２で示すように、ユーザはオペレーティングシステム１１４で更なるパスワードを入力でき、またブロック２２４で示すように、オペレーティングシステムは再びＢＩＯＳ１１２にパスワードを転送できる。次に、フローは、ＢＩＯＳ１１２が再びパスワードを検討するブロック２１４に戻ることができる。ユーザが選択した新たなパスワードが受付可能だとすれば、フローは、ＢＩＯＳ１１２がオペレーティングシステム１１４に受付を送信するブロック２２６に続く。受付を受信したなら、ブロック２２８に示すように、ブート前ログインを次にコンピュータシステム１００を起動する際に実行できるように、オペレーティングシステム１１４は新たなブート前パスワードを設定できる。
【００１６】
図３Ａ及び図３Ｂでは、ブート前ログインに対応する際の、ＢＩＯＳセキュリティマネージャ１１８（図１）の実施例について説明している。図３Ａのブロック３００から始めると、ＢＩＯＳセキュリティマネージャ１１８は、オペレーティングシステム１１４から、例えばオペレーティングシステムのセキュリティマネージャ１２２からの通信を待つ。ブロック３０２では、ＢＩＯＳセキュリティマネージャ１１８は、オペレーティングシステム１１４からキーボード配列ＩＤを受信する。一例として、当該ＩＤを、オペレーティングシステム環境でユーザが実行したブート前ログインのセットアップ手順の一部として、ＢＩＯＳセキュリティマネージャ１１８に提示する。次にＢＩＯＳセキュリティマネージャ１１８は、ブロック３０４で示すように、キーボード配列表１２０のキーボード配列ＩＤを調べて、ユーザのキーボード配列ＩＤにＢＩＯＳ１１２が対応しているか否かを判定する。決定ブロック３０６を参照すると、キーボード配列ＩＤが表１２０に存在しない場合、ＢＩＯＳセキュリティマネージャ１１８は、ブロック３０８で示すように、拒否通知をオペレーティングシステム１１４に送信し、ブート前ログインがユーザの現在のキーボード配列で不可能ならば、セッションのフローを終了する。
【００１７】
決定ブロック３０６を更に参照すると、キーボード配列ＩＤがキーボード表１２０に存在する、つまり、ＢＩＯＳ１１２が当該配列に対応している場合、フローは、ＢＩＯＳセキュリティマネージャ１１８が、オペレーティングシステム１１４からユーザが選択したパスワードを受信するブロック３１０に続く。パスワードの受信をキーボード配列ＩＤの受信とは別だとして記述したが、両情報は、ＢＩＯＳセキュリティマネージャ１１８に提供されると同時にＢＩＯＳセキュリティマネージャ１１８が受信できる点に注意されたい。とにかく、ＢＩＯＳセキュリティマネージャ１１８がパスワードを受信したなら、ブロック３１２で示すように、ＢＩＯＳセキュリティマネージャはパスワードの文字を識別する。次に、ブロック３１４を参照すると、ＢＩＯＳセキュリティマネージャ１１８は、ユーザのキーボードで直接その文字を入力できるか否かを判定する。特に、その文字を、単一のキーを選択して、又は、例えば「Ｓｈｉｆｔ」、「Ｃｔｒｌ」「Ａｌｔ」キーを含む複数のキーを同時に選択して、キーボードで直接タイプできるか否かを判定する。決定ブロック３１６を参照すると、文字を直接入力できる場合、フローは、当該文字がパスワードの最後の文字であるか否かを判定する決定ブロック３２０に続く。文字を直接入力できない場合、フローは、パスワードの次の文字を検討するブロック３１２に戻る。しかしながら、文字を入力できない場合、フローは、パスワードを受付不可能とオペレーティングシステム１１４に通知するブロック３１８に続く。次に、ＢＩＯＳセキュリティマネージャ１１８がオペレーティングシステムからの更なる通信を待つ図３Ａのブロック３００に、フローは戻ることができる。
【００１８】
決定ブロック３２０に戻ると、パスワードの各文字が受付可能な場合、フローは、ユーザの選択したパスワードがブート前ログイン処理に対して受付可能であることを示す受付可能メッセージをＢＩＯＳセキュリティマネージャ１１８がオペレーティングシステム１１４に送信するブロック３２２に続く。
【００１９】
図２及び図３に関連し上述した処理を通して、ユーザの選択したパスワードは、ブート前ログイン中にＢＩＯＳ１１２により確実に受信され認識されるステップを経ることになる。しかしながら、何らかの理由で、ＢＩＯＳ１１２がユーザのキーボード配列であると考えるものと、ユーザの実際のキーボード配列とが食い違った場合、ユーザは、自分が正しいパスワードだと信じるものを入力したときでも、コンピュータシステム１００へのアクセスを拒否される可能性がある。標準的な英語キーボード配列を使用して、ユーザが自分のブート前パスワードを設定する実施例について検討してみる。そのような場合には、ＢＩＯＳには、ユーザが標準的な英語キーボード配列を使用していることが通知され、そのためＢＩＯＳはそれに応じてキーストロークを解釈する。しかしながら、もしユーザがその後自分のキーボード配列を変更したなら、ＢＩＯＳが有効なパスワードを無効なパスワードとして解釈するという結果になるミスマッチが起こり得る。例えば、ユーザが自分のキーボード配列を標準的なフランス語キーボード配列へ変更するならば、「ｑ」と「ａ」キーの物理的な位置が逆になる。そのため、ユーザのパスワードが「ｑｕａｒｋ１２３」であれば、ＢＩＯＳは「ａｕｑｒｋ１２３」としてユーザの入力を解釈して、ユーザアクセスを拒否するであろう。
【００２０】
結果として永久にシステムをロックしてしまう可能性があるそうした状況を防止するために、コンピュータシステムのディスプレイに仮想又は「ソフト」キーボードをユーザに対して表示して、ユーザがマウス等のポインティングデバイスを使用して自分のパスワードの文字を選択可能にするように、ＢＩＯＳセキュリティマネージャ１１８を構成する。そのような状況では、ＢＩＯＳがユーザのキーボード配列だと考えるものとユーザの実際のキーボード配列とのミスマッチによって、ユーザがコンピュータシステム１００にログインできなくなる、使用できなくなるといったことがなくなる。図４は、そうした役割を果たすＢＩＯＳセキュリティマネージャ１１８の動作例を提供している。
【００２１】
図４のブロック４００から始めると、ＢＩＯＳセキュリティマネージャ１１８がユーザにパスワードを入力させる。特に、ＢＩＯＳセキュリティマネージャ１１８は、コンピュータシステム１００の電源を入れた後の、コンピュータシステムをブートする前、従ってオペレーティングシステム１１４が立ち上がり作動する前に、ユーザに自分のパスワードを入力させる。ブロック４０２に示すように、入力されたパスワードを受信し、パスワードが正しい（即ち、有効である）か否かを判定する。決定ブロック４０４を参照すると、パスワードが正しければ、ＢＩＯＳ１１２は、ブロック４０６で示すように、コンピュータシステム１００をブートする。一方、パスワードが正しくなければ（即ち、無効であれば）、フローを、最大試行回数まで使用したか否かを判定する決定ブロック４０８に続ける。最大試行回数まで達していなければ、ブローは、ユーザに再度パスワードを入力するように促すブロック４００に戻る。
【００２２】
許可された最大試行回数（例えば、３回試行）で、ユーザが正しいパスワードを入力できない場合、ブロック４１０で示すように、ＢＩＯＳセキュリティマネージャ１１８は、仮想又はソフトキーボードをユーザに表示する。ソフトキーボードは、例えば、各文字をユーザのキーボードを用いて直接入力できる画面上のボタンとして表示される個別表示「キー」、及び１つ又は複数の物理的なキーボードキーを用いる配列を含む。従って、上記の英語対フランス語の例に関しては、ソフトキーボードは、ユーザが自分の物理的なキーボードで「ｑ」キーの位置の如何に関わらず選択できる、「ｑ」のキーを含む。ソフトキーボードが表示されたなら、ＢＩＯＳセキュリティマネージャ１１８は、ユーザに、ブロック４１２で示すように、ポインティングデバイスを使用して様々な文字の自分のパスワードを選択するように促せる。一例として、ポインティングデバイスは、マウスを含んでよい。コンピュータシステム１００がタッチ式画面を備える場合には、ポインティングデバイスは、スタイラスペン又はユーザの指を含んでよい。
【００２３】
次に、決定ブロック４１４を参照すると、ＢＩＯＳセキュリティマネージャ１１８は、パスワードが正しいか否かを判定する。パスワードが正しくなければ、フローは、最大試行回数（例えば、３回試行）が使用されたか否かを判定する決定ブロック４１６に続く。最大試行回数でなければ、フローは、ユーザに再びパスワードの入力を促すブロック４１２に戻る。最大試行回数であれば、ブロック４１８で示すように、コンピュータシステム１００をブートしない。しかしながら、ユーザが、ポインティングデバイスを用いてパスワードの各文字を個別に選択して、正しいパスワードを入力したとすると、フローは、コンピュータシステム１００がブートするブロック４０６に続く。
【００２４】
図４に関して説明した機能を可能にするには、ユーザが使用するキーボード配列の各文字を、ＢＩＯＳ１１２が表示できなければならない。つまり、ＢＩＯＳ１１２が、それら各文字のフォントグリフをレンダリング（表現）する能力を備えねばならない、そうでなければ、フォントグリフがない文字は、キーボード配列に関わらず有効な文字としての検証を通過しない。ＢＩＯＳ１１２にそうしたフォントレンダリング能力があることを確実にするために、ＢＩＯＳセキュリティマネージャ１１８はまた、ＢＩＯＳが、図２及び図３に関して記述した処理中に選択されたパスワードの各文字をレンダリング可能かについても、確認できる。
【００２５】
様々なプログラム（ロジック）について本明細書では記述した。そうしたプログラムは、任意のコンピュータ関連システム又は方法によって、或いは任意のコンピュータ関連システム又は方法との関連で使用されるコンピュータ可読な媒体に保存できる点に注意されたい。本明細書の文脈では、「コンピュータ可読な媒体」は、電子、磁気、光学等の物理的デバイス、又はコンピュータ関連システム若しくは方法によって、又はコンピュータ関連システム若しくは方法との関連で使用されるコンピュータプログラムを含むか保存する手段とする。これらのプログラムを、例えばコンピュータベースのシステム、プロセッサを含むシステム、又は命令実行システム、又は装置若しくはデバイスからの命令をフェッチして命令を実行できる他のシステム、等の命令実行システム、装置又はデバイスによって、或いはそれらと関連して使用する任意のコンピュータ可読な媒体において、具現化できる。
【００２６】
以下に、本発明の実施態様を列挙する。
【００２７】
１．ブート前ログインで使用するためのユーザが選択したパスワードを受信することと、
コンピュータシステムのブートが完了する前に前記ユーザが前記パスワードを入力できるか否かを判定することと、
前記ブートが完了する前に前記パスワードを前記ユーザが入力できない場合には、前記パスワードは受付不可能であるという信号を送信することと、
を有することを特徴とするコンピュータシステムでブート前ログインに対応する方法。
【００２８】
２．前記パスワードを受信することは、前記パスワードを前記オペレーティングシステム環境で前記ユーザが入力した後に、前記コンピュータシステムのＢＩＯＳが、前記コンピュータシステムのオペレーティングシステムから前記パスワードを受信することを有することを特徴とする前項１に記載の方法。
【００２９】
３．前記判定することは、キーボードを使用して前記パスワードを直接入力できるか否かを判定することを有することを特徴とする前項１に記載の方法。
【００３０】
４．前記判定することは、前記パスワードの各文字について、前記文字を前記ユーザの物理的なキーボードを使用して直接タイプできるか否かを判定することを有することを特徴とする前項３に記載の方法。
【００３１】
５．前記ユーザが使用しているキーボード配列のＩＤを受信し、前記キーボード配列に前記コンピュータシステムのＢＩＯＳが対応しているか否か判定することを更に有することを特徴とする前項１に記載の方法。
【００３２】
６．前記キーボード配列に前記ＢＩＯＳが対応していない場合、前記キーボード配列のＩＤを使用してブート前ログインできないことを信号で送信することを更に有することを特徴とする前項５に記載の方法。
【００３３】
７．コンピュータシステムがブートを完了する前に、ユーザが入力したパスワードを受信することと、
前記パスワードが正しいか否かを判定することと、
前記パスワードが正しくない場合、前記ユーザが前記ユーザのパスワードの文字を選択できるソフトキーボードを、前記ユーザに対して表示することと、
を有することを特徴とするコンピュータシステムでブート前ログインに対応する方法。
【００３４】
８．前記パスワードを受信することは、前記コンピュータシステムのＢＩＯＳが、前記コンピュータシステムのオペレーティングシステムが立ち上がり作動する前に、前記パスワードを受信することを有することを特徴とする前項７に記載の方法。
【００３５】
９．前記ソフトキーボードを表示することは、所定のキーボード配列で直接タイプできる全文字を表示することを有することを特徴とする前項７に記載の方法。
【００３６】
１０．前記ソフトキーボードに表示した文字の選択を受信することを更に有することを特徴とする前項７に記載の方法。
【００３７】
１１．前記文字の選択を受信することは、ポインティングデバイスで前記ユーザが入力した選択を登録することを有することを特徴とする前項１０に記載の方法。
【００３８】
１２．コンピュータシステムで使用するＢＩＯＳを保存するコンピュータ可読な媒体であって、前記ＢＩＯＳが
ブート前ログインで使用するためのユーザが選択したパスワードを受信するように構成したロジックと、
コンピュータシステムのブート完了前に、前記ユーザが前記パスワードを入力できるか否かを判定するように構成したロジックと、
前記ブート完了前に前記パスワードを前記ユーザが入力できない場合に、前記パスワードを受付不可能であると前記コンピュータシステムのオペレーティングシステムに信号を送信するように構成したロジックと、
を有することを特徴とするコンピュータ可読な媒体。
【００３９】
１３．前記判定するよう構成したロジックは、前記パスワードの各文字について、前記ユーザの物理的なキーボードを使用して前記文字を直接タイプできるか否かを判定するように構成したロジックを有することを特徴とする前項１２に記載のコンピュータ可読な媒体。
【００４０】
１４．前記ユーザが使用しているキーボード配列ＩＤを受信し、前記キーボード配列に前記ＢＩＯＳが対応しているか否かを判定するように構成したロジックを更に有することを特徴とする前項１２に記載のコンピュータ可読な媒体。
【００４１】
１５．前記キーボード配列に前記ＢＩＯＳが対応していない場合、前記キーボード配列ＩＤを使用してブート前ログインできないことを信号で送信するように構成したロジックを更に有することを特徴とする前項１４に記載のコンピュータ可読な媒体。
【００４２】
１６．前記コンピュータシステムがブートを完了する前に、ユーザが入力したパスワードを受信するように構成したロジックと、
前記パスワードが正しいか否かを判定するように構成したロジックと、
前記パスワードが正しくない場合に、前記ユーザのパスワードの前記文字を前記ユーザが選択できるソフトキーボードを、前記ユーザに対して表示するように構成したロジックと、
を更に有することを特徴とする前項１２に記載のコンピュータ可読な媒体。
【００４３】
１７．ポインティングデバイスで前記ユーザが入力した前記ソフトキーボードに表示された文字の選択を受信するように構成したロジックを更に有することを特徴とする前項１６に記載のコンピュータ可読な媒体。
【００４４】
１８．処理装置と、
ＢＩＯＳ及びオペレーティングシステムを保存するメモリであって、前記ＢＩＯＳが、コンピュータシステムのブート完了前にパスワードをユーザが入力できるか否かを判定するためと、前記ブート完了前に前記ユーザが前記パスワードを入力できない場合に前記パスワードが受付不可能であることを前記コンピュータシステムの前記オペレーティングシステムに信号を送信するために、ブート前ログインで使用するユーザが選択したパスワードを受信するように構成されている、前記メモリと、
を有することを特徴とするコンピュータシステム。
【００４５】
１９．前記ユーザが使用しているキーボード配列のＩＤを受信するように、及び前記キーボード配列に前記ＢＩＯＳが対応しているか否かを判定するように更に前記ＢＩＯＳを構成することを特徴とする前項１８に記載のコンピュータシステム。
【００４６】
２０．前記コンピュータシステムがブート完了する前に、ユーザが入力したパスワードを受信し、前記パスワードが正しいか否かを判定するために、前記パスワードが正しくない場合に、前記ユーザのパスワードの前記文字を前記ユーザが選択できるソフトキーボードを前記ユーザに対して表示するように更に前記ＢＩＯＳを構成することを特徴とする前項１８に記載のコンピュータシステム。
【図１】
0005490933.tif 000002
【図２Ａ】
0005490933.tif 000003
【図２Ｂ】
0005490933.tif 000004
【図３Ａ】
0005490933.tif 000005
【図３Ｂ】
0005490933.tif 000006
【図４】
0005490933.tif 000007