(57)【要約】パスワードによって保護されるエンティティへのユーザのログオン中に、パスワードが、パスワードキャラクタを反復して受信すること（３１０）、および、その受信されたキャラクタが正当なパスワードのための少なくとも１つの要件を設定する、既に定義済のプロパティ（ａ）を満たすことを確認することによって、確認される。そうでない場合には、そのときこれは、ブルートフォースアタックを示すことができ、適切なアクションが取られ得る。そのプロパティは、ユーザに依存してもよい。対応するデバイス（１２０）およびコンピュータプログラムプロダクト（１４０）もまた提供される。
2013531285.tif 000002
【特許請求の範囲】
【請求項１】
パスワードによって保護されたエンティティへのユーザのログオン中の入力パスワードの検証方法であって、プロセッサ（１１１、１２１）におけるステップ、
前記入力パスワードの少なくとも１つのキャラクタを受信するステップ（３１０）、および、
受信された前記少なくとも１つのキャラクタが、正当なパスワードのための少なくとも１つの要件を設定する、既に定義済のプロパティ（α）を満たすことを確認するステップ（３２０）
を有する、前記方法。
【請求項２】
前記入力パスワードのすべてのキャラクタおよび前記入力パスワードが完成したという指示が受信され、および、該完成した入力パスワードが前記エンティティを保護するパスワードと一致することを確認するステップ（３５０）をさらに有する、請求項１に記載の方法。
【請求項３】
前記完成した入力パスワードが第１の部分および第２の部分を有し、前記プロパティが前記第２の部分によって表され、および、前記プロパティの順守が、前記第１の部分を処理して該処理された第１の部分が前記第２の部分と一致するかを調べることによって確認される、請求項２に記載の方法。
【請求項４】
前記プロパティが前記ユーザに依存する、請求項１または２に記載の方法。
【請求項５】
前記ユーザのプロパティを順守しない所定数の入力パスワードまたは入力パスワードの部分を検出したときに、ブルートフォースアタックが試みられたと判断するステップをさらに有する、請求項１から４のいずれか１項に記載の方法。
【請求項６】
ブルートフォースアタックが試みられたと判断したときに適切なアクションを取るステップをさらに有する、請求項５に記載の方法。
【請求項７】
適切なアクションが、管理者への警告を発行すること、ユーザへの警告を発行すること、システムを遮断すること、および、さらなるログインの試みを受け入れる前に所定の時間待つことのうちの少なくとも１つを含む、請求項６に記載の方法。
【請求項８】
パスワードによって保護されたエンティティへのユーザのログオン中に入力パスワードを確認するためのデバイス（１１０、１２０）であって、
パスワードのキャラクタを受信するためのインターフェース（１１３、１１４、１２３、１２４）、および、
受信された少なくとも１つのパスワードキャラクタが正当なパスワードのための少なくとも１つの要件を設定する、既に定義済のプロパティ（α）を満たすことを確認するためのプロセッサ（１１１、１２１）
を備える、前記デバイス。
【請求項９】
前記インターフェースは、さらに、前記入力パスワードが完成したという指示を受信するためであり、前記プロセッサは、さらに、該完成した入力パスワードが、前記エンティティを保護するパスワードと一致することを確認するためである、請求項８に記載のデバイス。
【請求項１０】
前記完成した入力パスワードが第１の部分および第２の部分を有し、前記プロパティが前記第２の部分によって表され、前記プロセッサが、前記第１の部分を処理して該処理された第１の部分が前記第２の部分と一致するかを調べることによって、前記プロパティの順守を確認するようになされる、請求項９に記載のデバイス。
【請求項１１】
前記プロパティが前記パスワードのユーザに依存する、請求項８または９に記載のデバイス。
【請求項１２】
前記プロセッサは、さらに、前記ユーザのプロパティを順守しない所定数の入力パスワードまたは入力パスワードの部分を検出したときに、ブルートフォースアタックが試みられたと判断するためである、請求項８から１１のいずれか１項に記載のデバイス。
【請求項１３】
前記プロセッサが、ブルートフォースアタックが試みられたと判断したときに、適切なアクションをさらに取る、請求項１２に記載のデバイス。
【請求項１４】
適切なアクションが、管理者に警告を発行すること、ユーザに警告を発行すること、システムを遮断すること、および、さらなるログオンの試みを受け入れる前に所定の時間待つことのうちの少なくとも１つを含む、請求項１３に記載のデバイス。
【請求項１５】
ソフトウェアプログラムの命令を記憶したコンピュータプログラムプロダクト（１４０）であって、前記命令が、プロセッサ（１１１、１２１）によって実行されるとき、パスワードによって保護されたエンティティへのユーザのログオン中に、
入力パスワードの少なくとも１つのキャラクタを受信するステップ（３１０）、および、
受信された前記少なくとも１つのキャラクタが、正当なパスワードのための少なくとも１つの要件を設定する、既に定義済のプロパティ（α）を満たすことを確認するステップ（３２０）
を実行する、前記コンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してコンピュータシステムに関し、具体的には、そのようなシステムでのログオン時のパスワードの処理に関する。
【背景技術】
【０００２】
本項は、以下に記載および／または請求される本発明の様々な態様に関連し得る、技術分野の様々な態様を読者に紹介するものである。本議論は、本発明の様々な態様のさらなる理解を容易にするための背景情報を読者に提供するのに役立つと考えられる。したがって、これらの記述は、先行技術の承認としてではなく、この観点から読まれるべきであることを理解されたい。
【０００３】
パスワードは、たとえば、ユーザのログオンを認証するために、今日のコンピュータシステムの至る所に存在する。その一般的な定義で、パスワードは、既に定義済のアルファベット内に取り入れられた一連のシンボルで構成される（たとえば、ＰＩＮコードの４つの数値）。
【０００４】
「強い」パスワードを作成するためには、選択されたパスワードが既に定義済のポリシーを満たすことを必要とするのが一般的である。そのようなポリシーは、たとえば、パスワードが少なくとも８つのキャラクタの長さであるべきであるということと、それが少なくとも１つの大文字と、＆、（、＝などの、少なくとも１つの特殊キャラクタとを含むべきであるということでもよい。特許文献１および特許文献２は、そのようなパスワードを選択するための解決法を提示する。
【０００５】
しかし、強いパスワードを使用するパスワード保護されたシステムでも、ブルートフォースアタック（あらゆる起こり得る値を反復して試すこと）によって、またはディクショナリーアタック（優先値のサブセットを試すこと）によってのいずれかで攻撃され得る。以下では、これらのアタックを「自動化されたアタック」と呼ぶ。それらの実装を単純化するために、これらのアタックは、認証システムのユーザインターフェースではなくて低レベル層を使用して動作する。これらのツールのうちのいくつかは、たとえば、Ｊｏｈｎ  ｔｈｅ  Ｒｉｐｐｅｒパスワードクラッカなど、インターネットでも入手可能である。
【０００６】
現在の認証システムは、自動化されたアタックとユーザ誤りを区別することができない。デフォルト設定で、いくつかの認証システムは、２つの連続する要求の間に遅延を挿入することによって、失敗したトライの数を制限することによって、またはその２つの組合せによってのいずれかで、自動化されたアタックのリスクを最小限に抑えるための機構を実装する。ＰＩＮコードの例では、失敗したトライの数はしばしば３に固定される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許出願公開第２００４／２５０１３９号明細書
【特許文献２】米国特許出願公開第２００９／１５８４０６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
したがって、認証システムが自動化されたアタックを検知し、それによってシステムが適切なポリシーにしたがってそのようなアタックに反応できるようにすることができる解決法が必要とされていることを理解できよう。本発明は、そのような解決法を提供する。
【課題を解決するための手段】
【０００９】
第１の態様では、本発明は、パスワードによって保護されたエンティティへのユーザのログオン中の入力パスワードの検証方法を対象とする。プロセッサは入力パスワードの少なくとも１つのキャラクタを受信し、該少なくとも１つの受信されたキャラクタが、正当なパスワードのための少なくとも１つの要件を設定する、既に定義済のプロパティを満たすことを確認する。
【００１０】
第１の好ましい実施形態では、入力パスワードのすべてのキャラクタおよびその入力パスワードが完成したという指示が受信され、プロセッサは、その完成した入力パスワードがエンティティを保護するパスワードと一致することをさらに確認する。一変形形態では、完成した入力パスワードが第１の部分および第２の部分を有し、プロパティが第２の部分によって表され、および、プロパティの順守が、第１の部分を処理してその処理された第１の部分が第２の部分と一致するかを調べることによって確認される。
【００１１】
第２の好ましい実施形態では、プロパティはユーザに依存する。
【００１２】
第３の好ましい実施形態では、プロセッサは、ユーザのプロパティを順守しない所定数の入力パスワードまたは入力パスワードの部分を検出したときに、ブルートフォースアタックが試みられたと判断する。ブルートフォースアタックが試みられたと判断したときに適切なアクションを取ることは有利である。そのような適切なアクションは、管理者に警告を発行すること、ユーザに警告を発行すること、システムを遮断すること、および、さらなるログオンの試みを受け入れる前に所定の時間待つことのうちの少なくとも１つを含む。
【００１３】
第２の態様では、本発明は、パスワードによって保護されたエンティティへのユーザのログオン中に入力パスワードを確認するためのデバイスを対象とする。本デバイスは、パスワードキャラクタを受信するためのインターフェース、および、少なくとも１つの受信されたパスワードキャラクタが正当なパスワードのための少なくとも１つの要件を設定する、既に定義済のプロパティを満たすことを確認するためのプロセッサを備える。
【００１４】
第１の好ましい実施形態では、そのインターフェースは、さらに、入力パスワードが完成したという指示を受信するためであり、そのプロセッサは、さらに、完成した入力パスワードが、前記エンティティを保護するパスワードと一致することを確認するためである。一変形形態では、完成した入力パスワードは第１の部分および第２の部分を有し、プロパティは第２の部分によって表され、プロセッサは、第１の部分を処理してその処理された第１の部分が第２の部分と一致するかを調べることによって、プロパティの順守を確認するように適合される。
【００１５】
第２の好ましい実施形態では、そのプロパティは、パスワードのユーザに依存する。
【００１６】
第３の好ましい実施形態では、そのプロセッサは、さらに、ユーザのプロパティを順守しない所定数の入力パスワードまたは入力パスワードの部分を検出したときに、ブルートフォースアタックが試みられたと判断するためである。ブルートフォースアタックが試みられたと判断したときに適切なアクションを取ることは有利である。そのような適切なアクションは、管理者に警告を発行すること、ユーザに警告を発行すること、システムを遮断すること、および、さらなるログオンの試みを受け入れる前に所定の時間待つことのうちの少なくとも１つを含む。
【００１７】
第３の態様では、本発明は、パスワードによって保護されたエンティティへのユーザのログオン中にプロセッサによって実行されるときに、入力パスワードの少なくとも１つのキャラクタを受信する、および、その少なくとも１つの受信されたキャラクタが正当なパスワードのための少なくとも１つの要件を設定する、既に定義済のプロパティを満たすことを確認する、ソフトウェアプログラムの命令を記憶するコンピュータプログラムプロダクトを対象とする。
【００１８】
本発明の好ましい特徴が、添付の図面を参照して、非限定的例として、ここで説明される。
【図面の簡単な説明】
【００１９】
【図１】本発明が実装され得る例示的システムを示す図である。
【図２】本発明の好ましい実施形態によるパスワード生成の方法を示す図である。
【図３】本発明の好ましい実施形態によるパスワード検証方法を示す図である。
【発明を実施するための形態】
【００２０】
図１は、本発明が実装され得る例示的システムを示す。本システムはコンピューティングデバイス（「コンピュータ」）１１０および認証サーバ１２０を備え、本発明がコンピュータ１１０に、認証サーバ１２０に、またはコンピュータ１１０および認証サーバ１２０の両方に実装され得ることを理解できよう。コンピュータ１１０および認証サーバ１２０は、標準パーソナルコンピュータ（ＰＣ）またはワークステーションなど、計算を実行する能力のある任意の種類の適切なコンピュータまたはデバイスでもよい。コンピュータ１１０および認証サーバ１２０は各々好ましくは、少なくとも１つのプロセッサ１１１、１２１、ＲＡＭメモリ１１２、１２２、ユーザと対話するためのユーザインターフェース１１３、１２３、および、接続１３０を介して他のデバイスと対話するための第２のインターフェース１１４、１２４を備える。コンピュータ１１０および認証デバイス１２０はまた各々、好ましくは、プロセッサによって実行されるときに、以下に記載されるパスワード方法のいずれかを実行する命令を記憶するデジタルデータサポート１４０からソフトウェアプログラムを読み取るためのインターフェースも備える。図示されたデバイスはわかりやすいように非常に簡略化されており、実際のデバイスは、永続記憶デバイスなどの機能をさらに備えることになることが当業者には理解できよう。
【００２１】
中心となる考え方は、パスワードΩのセットにプロパティα（「規則(rule)」または「関数(function)」とも呼ばれる）を追加することである。これは、完成したパスワード空間を以下の２つの明確なサブセットに分けることになる。
【００２２】
−  プロパティを順守する有効なパスワード（すなわち、有効なパスワード空間）のサブセット
【００２３】
【数１】
2013531285.tif 000003
【００２４】
−  プロパティを順守しない無効なパスワードのサブセット
【００２５】
【数２】
2013531285.tif 000004
【００２６】
これが、たとえば１つの大文字および文字もしくは数字以外の１つのキャラクタを含む少なくとも８つのキャラクタをパスワードが有することを要求する、一部の先行技術のシステムにも、既に当てはまることを理解できよう。しかし、重要なのは、この要件がディクショナリーアタックの影響をそれらが受けにくくするためにユーザのパスワードを多様化することのみを意図し、自動化されたアタックの検出を全く可能にしないこと、そして、正当なキャラクタを提案することによって有効なパスワードをユーザに案内することを一切しないことを理解することである。
【００２７】
サブセットは有利には動的であること、および、したがってそれらが経時的に変化し得ることを理解できよう。このダイナミズムの１つの例示的実装は、直前に使用されたｎパスワードを無効なサブセットΩiに入れることである。
【００２８】
このサブセットは明確であるが、実装をしやすくするために、それらを定義する規則は重複することがあり、その場合、ある規則が別の規則に優先する必要がある。たとえば、ユーザの生まれた年の使用を禁じる規則は、有利には、その特定の組合せを他の方法で可能にすることになるどんな規則も覆す。
【００２９】
ユーザがユーザインターフェースを介してパスワードを入力するとき、彼は有効なパスワード空間Ωνに制限される。本システムは、無効なパスワード空間Ωi（および場合により第３のサブセットもまた）からの要求をアタックとして考え、それに応じて反応することができる。
【００３０】
プロパティαの選択は、パスワードエントロピ（Ωνのサイズ）とアタックの可検出性（Ωiのサイズ）の間のトレードオフである。
【００３１】
したがって、プロパティαの使用は、ブルートフォースアタックの検出を可能にする。アタッカーがすべてのパスワード値に体系的にトライする場合、これは必ずΩiの要素を含むことになる。加えて、ディクショナリーアタックは、Ωiに知られているまたはありそうな辞書要素を加えることによって、対抗可能である。
【００３２】
プロパティαは複雑な関数でもよい。それは、完成したパスワードに適用可能であるが、好ましくは、ユーザインターフェースによる各シンボル入力について確保されるべきである。この場合、所与のステップで入力可能なシンボルは、前に入力されたシンボルに依存する。
【００３３】
好ましくは、プロパティαは、無効なサブセットからパスワードを使用する無視できない可能性をランダムなパスワードの推測が有することを確保するために、「十分に混合した(well-mixed)」および無視できないサイズの２つのセクションにパスワード空間を分割する。
【００３４】
たとえば、テキストのパスワード入力について、プロパティαは、大文字と小文字とを交互にすることでもよい。この場合、第１のシンボルについて、任意のキャラクタ（大文字または小文字）が、パスワード作成中に選択され得る。次いで、ユーザインターフェースは、前のキャラクタが大文字であった場合には小文字キャラクタのセットを提案し、その逆の場合も同様である。したがって、プロパティαは、パスワードの作成の各ステップで確認される。
【００３５】
たとえば、有効なパスワード空間Ωνと無効なパスワード空間Ωiの間の比率ｒが非常に低い（ｒ＜＜１）場合、そのとき、有効なパスワードを見つけ出すことは困難であり、システムはまた、規則についていくらかの知識を有するハッカーからのアタックに対して弱くなることがある。一方で、ｒ＞＞１の場合、そのとき、ほとんどすべてのパスワードが有効であり、アタックを検知する可能性は低い。したがって、比率ｒ≒１、おそらく０．５＜ｒ＜２が、経験則として使用され得る、よい妥協案であることが明らかとなろう。
【００３６】
プロパティαは、たとえばユーザ名のような様々な要素に依存し得る。この場合、２人のユーザは、彼らのパスワードを構築するための異なる規則を有することができる。たとえば、ユーザ名のキャラクタの数が奇数（別に偶数）である場合、そのとき、パスワードは大文字（別に小文字）キャラクタのみを含むべきである。大文字と小文字のキャラクタの混合からなる任意の要求は、アタックとして考えられることになる。もう１つの例は、ユーザ名とパスワードのキャラクタの数の合計が偶数（または奇数）になるように求めることである。
【００３７】
プロパティαの定義は、多数のパラメータを考慮して、非常に複雑になり得る。しかし、複雑すぎるプロパティは、以下の欠点を有し得る：結果として生じるパスワードが記憶するには困難となり得、および、有効なパスワードセットΩνのサイズが、十分なエントロピを確保するには小さくなりすぎることがある。
【００３８】
システムのセキュリティの全体のレベルは、プロパティαの機密性に依存する。このプロパティを知るまたは推測することは、有効なパスワード値（Ων）のセットを構築し、検知されることなしに、このセットでディクショナリーアタックを実行することを可能にすることになろう。
【００３９】
アタッカーが有効なサブセットΩνを再構築することをより困難にするために、ログインの瞬間にユーザインターフェースで制約を積極的に強調せず、パスワード構築中にのみ、そうすることが有利である。
【００４０】
さらに、認証システムで使用される伝統的な対抗手段（たとえば、トライの最大数、および誤ったパスワード入力間に課される遅延）は、本発明の解決法と組み合わせてやはり使用可能である。
【００４１】
実施例
本項では、ＰＩＮコードの研究事例を介して本発明の発想を説明する。本例はまた、たとえばディクショナリーアタックの回避など、伝統的対抗手段の一般化についてハイライトする。
【００４２】
ＰＩＮコード、｛０，…，９｝で選択された一連の４桁を考える。
【００４３】
一般的に、パスワード生成における任意の条件を有さない先行技術は、パスワード空間Ωが、「００００」と「９９９９」の間のすべての（１０進法の）数によって表され、
【００４４】
【数３】
2013531285.tif 000005
【００４５】
である。
【００４６】
以下でＰＩＮコードはｐとして示され、
【００４７】
【数４】
2013531285.tif 000006
【００４８】
である。
一般的な場合には、
【００４９】
【数５】
2013531285.tif 000007
【００５０】
である。
【００５１】
第１のステップは、たとえば、同じ数字が４回繰り返される（たとえば「７７７７」）または４桁が増加列（ｉｎｃｒｅａｓｉｎｇ  ｓｅｑｕｅｎｃｅ）（たとえば「１２３４」）である、あまりに頻繁に使用されるまたは単純すぎる組合せの特定のセット、「辞書」、を排除することでもよい。そのようにして実装される本システムは、選択されたＰＩＮコードがその辞書の部分でないことをパスワード生成中に確認し、そうである場合には、選択されたＰＩＮコードを有効にすることになる。ログイン（または他の種類の認証）中、無効なサブセットΩiからのＰＩＮコードが入力された場合、システムは例外を送出し、計画された対抗手段を取る。
【００５２】
シンボルにおいて：
【００５３】
【数６】
2013531285.tif 000008
【００５４】
である。
【００５５】
第２のステップは、関数αを統合してパスワード空間Ωを有効なサブセットおよび無効なサブセット（後者は「辞書」と結合されることになる）に分割することでもよい。たとえば、関数αは、前の数字に関連してあらゆる数字のパリティが変わらなければならないことを提示することができる。本システムは、そのインターフェースを修正すること、および、オプションで有効な数字のみを示すことによって、生成段階中にこの規則の順守を、オプションで強制する。パスワード認証中、本システムは、入力されたＰＩＮが規則αを順守することをチェックし、そうでない場合には、次いで例外が送出され、本システムは計画された対抗手段を取る。
【００５６】
再び、シンボルにおいて：
【００５７】
【数７】
2013531285.tif 000009
【００５８】
である。
【００５９】
この例では、関数α”は、辞書条件によって禁止された幾つかの組合せを許す。
【００６０】
次いで、第３のステップは、パスワード生成時に、インターフェースを介してアクティブ条件を強制すること、または無効なＰＩＮコードを単に拒否することである。パスワード認証中、本システムは、ステップ２および３にあるように両方の条件を確認し、そしてそうでない場合には例外を送出する。
【００６１】
有効なＰＩＮコードの可変性はαからα”に減るもののＰＩＮコードの選択に有用なサイズをまだ維持することが容易に確認され得る。許可されたおよび禁止されたＰＩＮコードセットは、無視できないサイズの、「十分に混合した」ものであることもまた観測され得る。この後者のプロパティは、使用される特定のα関数のみではなく、本システムを攻撃するために使用されるツールにもまた依存する。
【００６２】
オプションで、既に述べたように、ユーザ名に依存する関数αに可変性を加えることが可能である。
【００６３】
このＰＩＮの例では、ＰＩＮコードの第１の桁のパリティがユーザ名の長さのパリティと異なることが必要とされる。その場合、ｌｏｇｉｎはユーザによって入力されたユーザ名を示し、＃｛ｌｏｇｉｎ｝はその長さを示し、さらに、ρ0は＃｛ｌｏｇｉｎ｝のパリティを示す。
【００６４】
シンボルにおいてαにこの条件を含めると以下になる。
【００６５】
【数８】
2013531285.tif 000010
【００６６】
図２は、本発明の好ましい実施形態によるパスワード生成の方法を示す。本方法は、コンピュータ１１０に、またはコンピュータ１１０と対話する認証サーバ１２０に実装され得る。
【００６７】
第１に、本システムは、次のユーザ入力のために、起こり得るキャラク、すなわちプロパティαに準拠するキャラクタを提案することができる、ステップ２１０。特に第１のキャラクタについて、選択が自由であることを条件として、このステップは飛ばすことができる。本ステップは、その入力キャラクタがプロパティαを満たすことを確認し、そうでない場合には、そのキャラクタを受け入れることを拒否するステップによって置き換えることができることを理解できよう。
【００６８】
次いでキャラクタがユーザから受信され、ステップ２２０、そのパスワードが完成したかが確認される、ステップ２３０。これはユーザ入力（ユーザがアイコンをクリックするまたは「リターン」を押すかなど）によって指示され得るが黙示的でもよい。パスワードが完成した場合、本方法は次いでステップ２４０で終了し、そうでない場合には、本方法はステップ２１０に戻る。
【００６９】
図３は、本発明の好ましい実施形態によるパスワード検証方法を示す。本パスワード検証方法は、ユーザが、確認されることになるパスワードによって保護されたエンティティ（アカウント、デバイス、サーバなど）にログオンするときに、有利には実行される。パスワード生成方法と同様に、本検証方法は、コンピュータ１１０または認証サーバ１２０によって実施され得る。キャラクタが受信され、ステップ３１０、そして、そのキャラクタがプロパティαを満たすかが確認される、ステップ３２０。そうでない場合には、ブルートフォースアタックが試みられたと判断することができ、そして、適切なアクションがステップ３３０で取られ得る。適切なアクションは、たとえば、管理者および／またはユーザに警告を発することと、Ｘ非準拠パスワードの入力の後にシステムを遮断することと、さらなる試みを受け入れる前の遅延の使用であってもよい。パスワード全体が入力されるまで適切なアクションを保留することが可能であり、その場合に本方法はステップ３４０で継続することを理解できよう。適切なアクションはまた、ある一定数の誤ったパスワード（すなわち、プロパティαを順守しないパスワード）が入力されるまで延期可能であり、誤ったパスワードの数は、たとえば、最後のＹ秒間のＸ個の誤ったパスワードなど、時間を考慮することができる。
【００７０】
ステップ３４０で、パスワードが完成したかが確認され、それは生成方法のステップ２３０と同様の方式で行われる。そうでない場合、本方法は次いでステップ２１０で次のキャラクタの受信を待つが、そうである場合、プロパティαが順守されない場合にはこれは必要ではないことがあるが、したがってパスワードは正しくなり得ないが、入力パスワードが次いで確認される、ステップ３５０。言い換えれば、入力パスワードが、そのエンティティを保護するパスワードと一致することが確認される。前述のように、適切なアクションがこのとき、並びにそれ以前に取られ得る。プロパティαの順守はこのステップまで延期可能であることにも留意されたい（すなわち、ステップ３２０は、パスワードの検証前またはパスワードの失敗した検証の後のいずれか、ステップ３５０まで生じない）。
【００７１】
代替的実施形態
プロパティαを表現するための異なるやり方は、ユーザによって一体的に選択されたパスワードの最後に、「認証パディング」としてサーバによって選択された１つまたは複数のキャラクタを加えることである。それらのキャラクタは、ユーザによって入力されたパスワード、彼のログインおよびサーバ側の秘密パラメータをパラメータとして取る擬似ランダム関数の結果であることが望ましい。この解決法の欠点は、ユーザが彼のパスワードに追加されたさらにいくつかのキャラクタを記憶しなければならないということである。
【００７２】
この後者の方法の一例はＨＭＡＣ（ハッシュベースメッセージ認証コード）ベースの解決法であるため、生成段階にユーザは彼のパスワードを入力し、本システムがそのＨＭＡＣを計算し、ユーザによって入力されたパスワードとＨＭＡＣの最初のｎ桁を連鎖することによって構成された「完成した」パスワードを返す。認証段階で、ユーザは、パスワードを入力し、そうするとすぐに本システムはそれが可能なパスワードであるかをチェックし、最後のｎ桁がＨＭＡＣ値と一致することを確認する。
【００７３】
本発明が以下のようなパスワードを確認するやり方を提供し得ることを理解できよう：
−ブルートフォースアタックおよびディクショナリーアタックに対し耐性がある、
−システムが、それがアタックにさらされているかを識別することを可能にする、
−既存のパスワードベースの認証システムと互換性がある、
−スケーラブルである（大きなアルファベットを有する長いパスワードで使用可能である）、そして、
−  プロパティαが種々の環境（ＰＩＮコード、テキストのパスワード、グラフィックパスワード）に適合することができる。
【００７４】
本明細書で開示される各機能、並びに（適切な場合には）特許請求の範囲および図面は、独立して、または任意の適切な組合せで提供可能である。ハードウェアに実装されるものとして記載された機能は、ソフトウェアにも実装可能であり、その逆の場合も同じである。本特許請求の範囲に現れる参照番号は、単に例としてであり、本特許請求の範囲への制限的効果を何ら有さない。
【図１】
2013531285.tif 000011
【図２】
2013531285.tif 000012
【図３】
2013531285.tif 000013
【国際調査報告】
2013531285.tif 000014
2013531285.tif 000015
2013531285.tif 000016
2013531285.tif 000017
2013531285.tif 000018