(57)【要約】  パスワード回復技術は、文字列から単語の各々の文字位置に対して順番に文字を選択することにより、単語を生成することからなる。文字列中の文字の順番は、単語の各々の位置に対して個々に選択される。パスワードが決定されるまで、順番に生成された単語各々は入力することができる。
2010506310.tif 000002
【特許請求の範囲】
【請求項１】
パスワードを決定するために使用可能な１つ又は複数のコンピュータ可読媒体（７０２）において、
少なくとも１つの文字位置を有する単語と、文字列から前記単語の文字位置各々のために文字を順番に選択することにより生成される各々の単語と、前記単語の各々の位置のために別々に選択される前記文字列中の前記文字の順番と、
を順番に生成することと（８１４）、
前記パスワードが決定されるまで順番に生成された単語各々を入力することと（８１６）、
のための命令を備えることを特徴とする１つ又は複数のコンピュータ可読媒体。
【請求項２】
前記単語の各々の位置のために選択された前記文字列は、
各々の前記文字が前記各々の位置で発生する頻度の順番で編成された複数の文字を備えることを特徴とする請求項１に記載の１つ又は複数のコンピュータ可読媒体。
【請求項３】
各位置で前記各文字が発生する前記頻度は、辞書に基づいて決定されることを特徴とする請求項２に記載の１つ又は複数のコンピュータ可読媒体。
【請求項４】
前記辞書は英語の辞書であることを特徴とする請求項３に記載の１つ又は複数のコンピュータ可読媒体。
【請求項５】
前記辞書は、名前、日付、単語の共通のつづり違いを含むことを特徴とする請求項３に記載の１つ又は複数のコンピュータ可読媒体。
【請求項６】
各位置で各々の前記文字が発生する前記頻度は、既存のパスワードのサンプルの検討に基でいて決定されることを特徴とする請求項２に記載の１つ又は複数のコンピュータ可読媒体。
【請求項７】
各位置で各々の前記文字が発生する前記頻度は、文法規則に基づいて決定されることを特徴とする請求項２に記載の１つ又は複数のコンピュータ可読媒体。
【請求項８】
文字列各々は、小文字、大文字、数字、空白、記号のうち少なくとも２つからなること特徴とする、請求項１に記載の１つ又は複数のコンピュータ可読媒体。
【請求項９】
前記単語の最初の位置のための前記文字列は、大文字で始まるように配列されていることを特徴とする、請求項１に記載の１つ又は複数のコンピュータ可読媒体。
【請求項１０】
前記単語の前記最初の位置のための前記文字列は、
ｓ，ｃ，ｐ，ａ，ｂ，ｔ，ｍ，ｄ，ｒ，ｈ，ｆ，ｇ，ｕ，ｅ，ｌ，ｉ，ｏ，ｎ，ｗ，ｖ，ｋ，ｊ，ｑ，ｙ，ｚ，０，ｘ，３，１，２，４，６，５，７，８，９
の順番で配列された文字と数字からなることを特徴とする、請求項１に記載の１つ又は複数のコンピュータ可読媒体。
【請求項１１】
パスワードを決定する際に使用可能な文字列を選択する方法において、
前記パスワードに使用可能な言語を特定することと（８０２）、
前記パスワード内で使用されることができる許容文字を特定することと（８０４）、
前記パスワード内の文字位置を特定することと（８０６）、
前記許容文字各々が前記特定した言語の単語内の特定した位置で使用される頻度を決定することと（８０８）、
前記許容文字各々が前記特定した言語中の前記特定した位置で使用される前記決定された頻度に基づいて、前記許容文字を文字列に配列することと（８１０）、
を備えることを特徴とする方法。
【請求項１２】
前記文字列は、最も頻繁に使用されるものから、最も使用されないものまで、前記決定された頻度の順番で配列された前記許容文字からなることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記許容文字を文字列に配列することは、更に文法規則に基づいていることを特徴とする請求項１１に記載の方法。
【請求項１４】
前記パスワード内の最初の位置にある前記文字列は、大文字で始まるように配列されていることを特徴とする請求項１１に記載の方法。
【請求項１５】
請求項１１に記載の前記方法を実施するための命令を備えることを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項１６】
パスワードに使用可能な言語を特定することと（８０２）、
前記パスワード内で使用されることができる許容文字を特定することと（８０４）、
前記パスワードに許容される最大の文字位置を特定することと（８０６）、
最大の文字位置に至るまで文字位置各々に対して、特定した言語の前記各々の文字位置で前記許容文字各々が使用される頻度を決定することと（８０８）、
各々の位置に対して、前記特定した言語の単語中の前記各々の位置で、各文字が使用される前記決定された頻度に基づいて、前記許容文字を文字列に配列することと（８１０）、
少なくとも１つの文字位置を有する単語と、その場所のための前記文字列から前記単語の文字位置各々の文字を順番に選択することにより生成される各単語を順番に生成することと（８１４）、
前記パスワードが決定されるまで、各々の順番に生成された単語を入力することと（８１６）、
を備えることを特徴とする方法。
【請求項１７】
各場所で前記文字各々が発生する前記頻度は、英語の辞書に基づいて決定されることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記辞書は、名前、日付、単語の共通のつづり違いを含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
各位置で前記文字各々が発生する前記頻度は、既存のパスワードのサンプルの検討に基づいて決定されることを特徴とする請求項１６に記載の方法。
【請求項２０】
各位置で前記文字各々が発生する前記頻度は、文法規則に基づいて決定されることを特徴とする請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
文字位置ベースのパスワードの回復に関する。
【背景技術】
【０００２】
パーソナルコンピュータが広く使用されるようになるにつれて、コンピュータやそこに記憶されたデータへのアクセスを制限することにより、機密情報を保護するためにパスワードが益々重要になっている。情報へアクセスする必要がある場合、ユーザがパスワードを忘れたり、又は使えなかったりすると問題が発生する。パスワードの回復（又は、「パスワード解析」）とは、不明パスワードを明らかにするプロセスのことをいう。典型的なパスワード回復エージェント、又は解析プログラムは、パスワードを明らかにしようとして繰り返し単語を生成する。一般的には、単語は予め決められた標準的な文字列から直線状に生成される。
【０００３】
回復させるパスワードの大きさ（即ち、パスワードが持つ文字位置の許容数）や、パスワードが持つ許容文字数（例えば、小文字、大文字、数字、空白、記号、等）によって、パスワード回復プロセスは、相当な処理資源と時間が必要になる場合もある。許容される文字位置を追加するたびに、パスワードを回復させる時間は指数関数的に増加する。６文字以上のパスワードに対しては、この６番目の場所に入ると考えられる文字の組合せ全てをチェックするのに何日もの回復時間がかかることもある。
【発明の概要】
【課題を解決するための手段】
【０００４】
この発明の概要は、以下の発明を実施するための形態にてさらに詳述する概念の選択を、簡単な形式で紹介するために提供する。この概要は、特許請求の範囲に記述されている発明の主題の重要な特徴、又は本質的な特徴を特定するためのものではないし、特許請求の範囲に記述されている発明の主題の範囲を決定する際の支援として使用しようとするものでもない。
【０００５】
上記を考慮して、本明細書は文字位置に基づくパスワード回復技術を記述しており、それによってパスワードを順番に生成するために使用する文字列を、「位置毎」ベースで指定することができる。
【０００６】
実装例の１つでは、文字列から単語の各文字位置に対して順番に文字を選択することにより単語が生成されている。文字列内の文字の順番は、単語の各々の位置に対して別々に選択される。パスワードが決められてから、順番に生成した単語各々を入力することができる。
【０００７】
実装例によっては、各文字が各位置で発生する可能性に従って文字列がまとめられている場合もある。
【発明の効果】
【０００８】
パスワードは、コンピュータ、ネットワーク、サーバ、ウェブサイト、ストレージ媒体等に記憶されている機密情報を保護するために一般的に使用されるセキュリティ機構である。一般的に、パスワードはそのような情報を保護する便利な方法を提供する。ところが、ユーザが自分のパスワードを忘れるか、必要な情報にアクセスする時に利用できないことが時々ある。そのような場合、ユーザ、又はユーザ以外の認定された者は、その機密材料にアクセスすることができるように、パスワードを回復又は解析しようとする。典型的なパスワード回復エージェントは、予め決められた１文字列を頼りに単語を生成する。本明細書は、文字位置ベースの技術を使用して、パスワードを回復（又は「解析」）することを対象とする。様々な実装例で、これらの文字位置ベース技術により、単語生成のための多数の、及び／又は戦略的に選択された文字列の使用を可能にし、パスワードを回復するために必要な時間と資源を大幅に低減することができる。本明細書で使用されている「単語」とは、任意の文字、数字、記号、形状、空白、及び／又は他の符号を含むことができる。
【０００９】
図中、参照番号の最も左の桁は、指定したコンポーネント又は行為が最初に現れる数字を識別する。
【図面の簡単な説明】
【００１０】
【図１】ログインとパスワード画面が表示されたコンピュータ画面の例を示す概略図である。
【図２】パスワードの文字位置各々に対して、予め決めた１文字列を使用した、代表的なパスワード回復技術を示すブロック図である。
【図３】パスワードの文字位置各々に対して、個々の文字位置ベースの文字列を使用した、パスワード回復技術の一例を示すブロック図である。
【図４】パスワードの少なくとも１つの文字位置に対して、個々の文字位置ベースの文字列を使用した、パスワード回復技術のもう１つの例を示すブロック図である。
【図５】パスワードの少なくとも１つの文字位置に対して、個々の文字位置ベースの文字列を使用した、パスワード回復技術のもう１つの例を示すブロック図である。
【図６】パスワードの文字位置各々に対して、個々の文字位置ベースの文字列を使用した、パスワード回復技術のもう１つの例を示すブロック図である。
【図７】文字位置ベースのパスワード回復方法の例を示すフローチャートである。
【図８】パスワード回復装置の例を示すブロック図である。
【発明を実施するための形態】
【００１１】
図１は、１つのパスワードで保護されているパーソナルコンピュータ１００を示す。ログインするまでは、ユーザはコンピュータ上に記憶されている情報にアクセスすることができない。この目的のために、コンピュータ１００の画面上にログインインタフェース１０２が表示される。ログインインタフェース１０２は、ユーザがログイン名を入力するためのログインプロンプト１０４と、そのユーザが自分のパスワードを入力するためのパスワードプロンプト１０６を備える。ユーザに必要なパスワードの長さと許容文字を知らせる情報メッセージ１０８がログインインタフェース１０２上に示されることもある。説明した実装例の場合は、パスワードは６文字長から８文字長でなければならず、文字及び／又は数字を含む場合もあり、大文字と小文字は区別している。
【００１２】
もしパスワードを思い出すことができなければ、ユーザはコンピュータ１００にログインすることができない。場合によっては、ユーザがパスワードをリセットすることができたり、ユーザがパスワードを思い出すことを助けるヒントが提供されたり、および／または１つまたは複数のセキュリティに関する質問（例えば、母親の旧姓、生まれた都市、等）に回答したユーザに対してパスワードが与えられたりする。そのような選択肢がなく、またはなおもユーザがパスワードを思い出すことができなければ、保護されている資料にアクセスできるようにするために、パスワードを回復、または解析することが必要になる。
【００１３】
例示的なパスワード回復技術
回復させようとするパスワードのサイズ（すなわち位置の数）や各位置での許容文字数により、パスワード回復は冗長なプロセスになることがある。文字を追加するたびに、パスワードを回復する時間は指数関数的に増える。具体的には、考えられるパスワード数は以下のように表すことができる。
考えられるパスワード数＝
【００１４】
【数１】
2010506310.tif 000003
【００１５】
ここで、Ｐはパスワード内で使用可能な許容文字数、Ｎは文字位置数に関するパスワード長、ＸとＹはそれぞれ最小と最大許容パスワード長であり、それぞれ文字位置数に関するものでもある。
【００１６】
図２と図３は、簡単なパスワード回復状態を示す。図示した状態では、パスワードは１つないし３つの位置の長さＮを有し、各位置｛Ａ、Ｂ，Ｃ｝に使用できる３つの許容文字Ｐがある。上記数式１を適用すると、許容文字Ａ，Ｂ，Ｃは、１文字から３文字の長さの３９の考えられるパスワード（即ち、３1＋３2＋３3＝３９）を結合する。図示した状態で、ユーザは以前「ＣＡＢ」（３９の考えられるパスワードの１つ）というパスワードを作成したが、今ではそれを忘れてしまっている。
【００１７】
図２は、代表的なパスワード回復プログラム２００を示す。この実装例では、例えば、パスワードの許容長（この場合は１から３の位置）とパスワード内で使用可能な許容文字のセット（この場合は、Ａ，Ｂ，Ｃ）等の、適切なパスワードのための何らかの基準２０２を入力するようにユーザは求められる。プログラム２００は、生成した単語の全ての位置で、予め決定した一つの文字列「ＡＢＣ」を使用して順番に「単語リスト」２０４を生成する。単語リストは、全ての考えられる組み合わせを試すまで、文字位置の各々に対して予め決めてある文字列を循環することにより、順番に生成された単語で構成される。したがって、図２に示すように、最初に生成される単語は「Ａ」、二番目の単語は「Ｂ」、三番目の単語は「Ｃ」、四番目の単語は「ＡＡ」、五番目の単語は「ＡＢ」、等となる。このプロセスはパスワードが生成されるまで継続する。図２の例では、３２番目の単語２０６が生成されるまでは、忘れたパスワード「ＣＡＢ」は発見されない。
【００１８】
このようなパスワードを推定する方法論を検討する場合、文字列の１番目の文字で始まる単語は、文字列中で次の文字で始まる単語よりも、回復プロセス中により早く生成されるということが明らかになる。もし、考えられるパスワード３９全てが同等に使用される見込みがあれば、その後、文字列中の文字の順番は重要ではなくなる。しかしながら、実際には、少なくとも一部において、単語、名前、日付、頭字語、イニシャル、これらの組み合わせ、及び／又は文字の任意の組み合わせよりも憶えやすい他の文字の組み合わせのような共通の文字の組み合わせに、パスワードは基づいている。こうして、単語を生成するのに使用される文字列が、考えられるパスワード内で文字が使用されている順番に再配列されれば、パスワードを推定するのにかかる時間は短縮されるであろう。単語内の異なった位置各々に対して異なった文字列を使用すれば、この時間は更に短縮されることができる。例えば、各位置に対する文字列は、例えば英語のような言語、既存のパスワードのサンプル、等内の各位置で文字が発生する頻度に基づいて編成することができる。
【００１９】
図３は、文字位置ベースのアプローチを使用したパスワード回復プログラム３００の一例を示すものであり、この例では、既存の３語のパスワードの仮想サンプル内の各位置で文字が発生する頻度に基づいて、単語を生成するのに使用される少なくとも１文字列が編成されている。一例として、パスワードは許容文字セット｛Ａ，Ｂ，Ｃ｝から選択可能である。図３の例では、文字Ｃは既存のパスワードのサンプルではパスワードの１番目と３番目の位置で使用される最も共通した文字であり、その次はＢ，そしてＡである。文字Ａは、このサンプルではパスワードの２番目の位置で使用される最も共通した文字であり、その次はＢ、そしてＣとなる。
【００２０】
これらの仮想的な所見に基づいて、単語の生成に使用された文字列は、パスワード（最高頻度から最低頻度まで）のサンプル中で発見される頻度と、その単語の位置での発生頻度と同じ順番で編成されている。こうして、１番目の文字位置に使用された第１の文字列３０２は、Ｃ，Ｂ，Ａ、二番目の文字位置に使用された第二の文字列３０４は、Ａ，Ｂ，Ｃ，三番目の文字位置に使用された第三の文字列３０６は、Ｃ，Ｂ，Ａである。これらの文字列を使用して単語リスト３０８は生成された。この文字位置をベースとした実装例では、忘れたパスワード「ＣＡＢ」は１４番目の単語３１０として生成され、これは図２の例の場合よりもずっと早い順番である。
【００２１】
前述の説明より、解析セッションで順番にパスワードを生成するために、文字位置ベースの単語生成は、ユーザが「位置毎」のベースで文字列を指定することを可能にする。これは、パスワードをもっと速く回復させようとして、各位置で各文字が発生する可能性に従って編成された文字列のセットをユーザが使用することを可能にする。
【００２２】
現実的には、３９の異なった考えられるパスワードだけでは、図２と図３の３文字のパスワードを解析するのはささいなことであり、せいぜい数秒である。しかしながら、パスワード回復時間は、許容文字数とパスワードの許容長と共に増加する。また、図３に示す実装例は、文字Ａ、Ｂ，Ｃから形成されたパスワードを検索するだけには役に立つが、概念は、文字（小文字、及び／又は大文字）、数字、記号（句読点、又はそれ以外）、空白、形状等を含む他の任意の希望の文字を使用するパスワードを含むために拡張されることができる。
【００２３】
図４は、パスワードを回復するために使用可能なパスワード回復プログラム４００のもう１つの例を示す。この例では、パスワードは１文字長から３文字長であり、２６の許容文字（この場合は小文字アルファベットａからｚ）から作り出すことができる。この例では、与えられた環境のもとですべてのパスワードに対して調べてみると、パスワードの１番目の文字は任意の小文字アルファベットの１つになる可能性は同等であるが、「ｐ」、「ｂ」、「ｍ」がすべてのパスワードの、２番目の文字位置の一番共通した文字になる。文字位置ベースの単語生成技術を使用して、３文字パスワードに使用される文字列は以下のようになる。
位置＃１の文字列＝"abcdefghijklmnopqrstuvwxyz"
位置＃２の文字列＝"pbmacdefghijklnoqrstuvwxyz"
位置＃３の文字列＝"abcdefghijklmnopqrstuvwxyz"
【００２４】
この環境で使用されるパスワードに関して過去になされた検索に基づいて、時間を限ってこの環境に対するパスワードを推定すればこの文字列はさらに有効になる。
【００２５】
既存のパスワードについてのそのような検索は、文字位置ベースで単語を生成するのに使用される文字列を決定するための考えられる１つの方法である。しかしながら、文字位置ベースで単語を生成するのに使用される文字列を決定するための様々な他の方法もまた可能である。例えば、（英語のような）ある言語の文法規則や辞書を解析することにより、ユーザはある単語の位置で最も共通した文字を決定することができる。この情報を使用して、単語の文字位置各々での発生頻度順で文字を列挙している文字位置ベースの単語生成に使用する文字列を、ユーザは作成することができる。この方法を使用すれば、ユーザはそのような文字位置ベースの文字列の方が、標準化された順序（アルファベット順、年代順、等）で使用可能な文字を列挙したデフォルトの文字列より、パスワードを解析することにおいてより有効であると合理的に仮定することができる。
【００２６】
図５は文法規則に基いて編成された文字列を使用した実装例を示す。上記のように、パスワードは少なくとも一部は、共通の単語、名前、日付、頭字語、イニシャル、等に基づく傾向がある。少なくとも英語の場合は、名前、日付、頭字語、イニシャル、文章の最初の単語は、通常は全て大文字で始まる。このように、大文字と小文字がパスワードのための許容文字である場合、大文字で始まる最初の文字位置に相当する文字列を編成することにより、回復時間は更に、又は選択的に低減される。２番目以降の文字位置に使用する文字列は、小文字で始まるか、または他の任意の希望する順番で編成することができる。
【００２７】
図５は、パスワードを回復するのに使用可能な、パスワード回復プログラム５００の例を示す。一例では、パスワードは４文字長から６文字長で、５２の許容文字により作ることができる（abcdefghijklmnopqrstuvwxyzABCDEFGHIJLLMNOPQRSTUVWXYZ）。その場合、２００億個以上の異なったパスワードが考えられ（厳密には２０，１５８，１２５，３１２個）、回復時間は相当かかる。
【００２８】
説明のために、今回回復しようとするパスワードは「ヨーヨー」とする。この実装例では、パスワードの１番目の文字位置に該当する最初の文字列５０２は、その後に小文字が続く大文字で始まる（ABCDEFGHIJLLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz）。２番目以降の文字位置に該当する２番目の文字列５０４は、その後に大文字が続く小文字が配列されている（abcdefghijklmnopqrstuvwxyzABCDEFGHIJLLMNOPQRSTUVWXYZ）。説明した実装例内の文字位置はどれでも、大文字と小文字がアルファベット順に並んでいる。しかしながら、その代わりに文字を別の順番で並べることもできる。例えば、逆アルファベット順、順不同、又は英語、既存のパスワードのサンプル等の例えば言語内の各位置で文字が発生する頻度順で文字を並べることができる。更に、小文字を１つの順番で編成し、大文字は別の順番で並べることもできる。一例では、文字列が（abcdefghijklmnopqrstuvwxyzZYXWVUTSRQPONMLKJIHGFEDCBA）となる場合もある。
【００２９】
文字列５０２と文字列５０４を使用して単語リスト５０６が生成される。このようにして、単語リスト５０６上の単語番号３，４１５，０６４に関するものとしてパスワード「ヨーヨー」が生成される。しかしながら、アルファベット順に並んだ小文字で始まる文字列が全ての位置で使用されると、単語番号がおよそ７，０７０，８７１になるまでは、パスワードは生成されていない−この場合は５０％以上の時間が節約できる。
【００３０】
図６は、パスワードを回復するのに使用可能なパスワード回復プログラム６００の別例を示す。この例では、パスワードは１文字長から７文字長であり、３６の許容文字により作り出される（abcdefghijklmnopqrstuvwxyz0123456789）。従ってこの例では、８００億個以上のパスワードが考えられる（厳密には８０，６０３，１４０，２１２個）。
【００３１】
文字位置ベースの単語生成技術を使用して、ユタ州、ソルトレイクシティーのプロジェクトグーテンベルグリテラリーアーカイブファウンデーションから得られる公的に入手可能な英語の辞書を使用して、８５６，３６８個の単語を解析した（しかしながら、何れか他の適切な辞書があれば両方共、またはどちらかを使用することは可能）。プロジェクトグーテンベルグの辞書は、小文字の共通名、共通日付、小文字の共通単語、小文字の共通つづり違いを含む。単語の最初の７つの文字位置が解析され、文字位置各々に対して、最もありふれたものから最もありふれてないものまで編成された文字で、文字列が生成された。７つの位置全てに対して生成された文字列を以下に示す。
位置＃１＝“scpabtmdrhfguelionwvkjqyz0x312465789”
位置＃２＝“aeorisucnphltmbdfgwvykjqxz0132647859”
位置＃３＝“aeorinslcutpmhbdgfwvykjxqz0132467589”
位置＃４＝“aeroinstlcupmdhbgfwvykxjqz0123456789”
位置＃５＝“earointslcupmdhbgfywkvxjzq0123456789”
位置＃６＝“eairontslcupmdhbgfywvkxzjq0123456789”
位置＃７＝“eairontslcupdmhbgfywkvxzjq0123465879”
【００３２】
最初の位置から最後の位置まで、文字の頻度、従って文字列の順番は著しく異なっている。本明細書で述べた文字位置ベースの技術を使用すれば、全てのパスワードに対してパスワードの回復時間が短くなるというわけではないが、従来のパスワード回復方法を使用するよりも、平均すると回復時間は短くなる。
【００３３】
例示的な計算装置
図７で、図１のコンピュータ１００をさらに詳細に説明する。コンピュータ１００は、パスワード回復プログラムを実装することができる任意の適切な計算装置として構成されることができる。構成例の１つとしては、コンピュータ１００は、少なくとも１つの処理ユニット７００とメモリ７０２を構成する。計算装置の構成と種類により、メモリ７０２は（ＲＡＭの様な）揮発性、及び／又は（ＲＯＭ，フラッシュメモリの様な）不揮発性とすることができる。
【００３４】
メモリ３０２は、様々な他のデータ、プログラム、メディア等と同様に、オペレーティングシステム８０４と、パスワード回復技術の全て、又は一部を実装するためのパスワード回復プログラム、又はエージェント８０６を備える。コンピュータ１００は、さらにリムーバブルストレージ８０８、及び／又は限定はしないが磁気ストレージ、光ディスク、及び／又はテープストレージを含むノンリムーバブルストレージ８１０も備えることができる。オペレーティングシステム８０４、及び／又はパスワード回復エージェント８０６は、リムーバブルストレージ８０８、及び／又はノンリムーバブルストレージ８１０上にさらに、又はその代わりに記憶される。
【００３５】
コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータ等の情報を記憶するための、任意の方法又は技術に実装される揮発性と不揮発性、リムーバブルとノンリムーバブル媒体を備える。メモリ３０２、リムーバブルストレージ８０８、ノンリムーバブルストレージ８１０は全てコンピュータストレージ媒体の例である。現存するコンピュータストレージ媒体のさらなるタイプには、限定はしないが、ＲＡＭ，ＲＯＭ，ＥＥＰＲＯＭ，フラッシュメモリ又は他のメモリ技術、ＣＤ−ＲＯＭ，ＤＶＤ又は他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージ装置、又は必要な情報を記憶するために使用されることができ、コンピュータ１００によりアクセス可能な任意の他の媒体が含まれる。
【００３６】
コンピュータ１００は又、コンピュータ１００がネットワークを介して、１つ又は複数の他のコンピュータ、サーバ、又は計算装置と通信できるようにする通信接続（単数または複数）８１２も含む。一例をあげると、限定はしないが、通信接続８１２（単数または複数）は、有線ネットワーク、又は直接有線接続等の有線媒体と、音響、高周波、赤外及び他の無線媒体等の無線媒体とを含む。
【００３７】
コンピュータ１００は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置等の入力装置（単数または複数）８１４と、ディスプレイ、スピーカ、プリンタ等の出力装置８１６（単数または複数）も含む。これらの装置は全て当業者には良く知られているので、ここでの詳細な議論は必要ではない。
【００３８】
例示的なパスワード回復方法
図８は、パスワード回復方法８００の一例を示すフローチャートである。方法８００は、そうしなくてもよいが、少なくとも一部は図７に示すような計算装置１００により実装されており、図２から図６に示すようなパスワード回復プログラムを実行する。この方法８００は、パスワードに使用できる言語を特定する８０２と、パスワード内で使用可能な許容文字を特定する８０４、及び８０６を構成する。
【００３９】
最小の文字位置（もしあれば）から最大の文字位置（もしあれば）までの文字位置各々のために、この方法は８０８にて、特定した言語内の各々の文字位置で各許容文字が使用される頻度を決定することを含む。辞書、既存のパスワードのサンプルの検討、文法規則等に基づいて、この決定はなされることができる。
【００４０】
８１０では、特定した言語の単語内のそれぞれの位置で使用される各々の文字において決められた頻度に基づいて、各々の位置の文字列に、許容文字が配置される。８１２では、例えば、名前の頭文字、日付、頭字語、文章の最初の単語、等を大文字にすることというような文法規則に基づいて、各文字位置に対する文字列が選択されることができる。
【００４１】
８１４では、少なくとも１つの文字位置を有する単語が順番に生成され、その位置の文字列から単語の文字位置各々のための文字を順番に選択することにより、各単語は生成されている。８１６では、パスワードが決定されるまでログインインタフェース等に、順番に生成された単語が入力される。
【００４２】
パスワード回復法８００の一例の詳細を上述した。しかしながら、状況によっては、パスワード回復法８００中のある行為は、記述した順番で行う必要はなく、変更、及び／又は完全に省略してもよいことが理解されるべきである。例えば、英語、他の言語、既存のパスワードのセット、又はそれらの組み合わせ内での発生頻度に基づいて単語が発生される場合がある。更に、又はその代わりに、単語の最初の文字を大文字にすること、ピリオドは単語の最後に打つこと、アポストロフィは単語の最後の文字の１つ前に打つこと等の１つ又は複数の文法規則に基づいて、単語が生成される。
【００４３】
更に、１つ又は複数のコンピュータ可読媒体上に記憶されている命令に基づくコンピュータ、プロセッサ、又は他の計算装置により、上記の任意の行為が実装される。上述のように、コンピュータ可読媒体は、そこに記憶される命令を実行するための計算装置によりアクセスされることができ、任意の入手可能な媒体とすることができる。
【００４４】
結論
発明の主題は、構造の特徴、及び／又は方法論的行為に特有の言語で記述されているが、添付した特許請求の範囲で定義された発明の主題は、記述した特有の特徴、又は行為には必ずしも制限されない。むしろ、特有の特徴と行為は、特許請求の範囲を実行することの例示的な方式として開示されている。例えば、方法論的行為は、本明細書に記述された順番、又は組み合わせで行われる必要はないし、１つ又は複数の行為の任意の組み合わせで行うことができる。
【図１】
2010506310.tif 000004
【図２】
2010506310.tif 000005
【図３】
2010506310.tif 000006
【図４】
2010506310.tif 000007
【図５】
2010506310.tif 000008
【図６】
2010506310.tif 000009
【図７】
2010506310.tif 000010
【図８】
2010506310.tif 000011
【国際調査報告】
2010506310.tif 000012
2010506310.tif 000013