"パスワードによって保護されたエンティティへのユーザのログオン中の入力パスワードの検証方法であって、プロセッサ111、121におけるステップ、前記入力パスワードの少なくとも1つのキャラクタを受信するステップ310、および、受信された前記少なくとも1つのキャラクタが、正当なパスワードのための少なくとも1つの要件を設定する、既に定義済のプロパティαを満たすことを確認するステップ320を有する、前記方法。前記入力パスワードのすべてのキャラクタおよび前記入力パスワードが完成したという指示が受信され、および、該完成した入力パスワードが前記エンティティを保護するパスワードと一致することを確認するステップ350をさらに有する、請求項1に記載の方法。前記完成した入力パスワードが第1の部分および第2の部分を有し、前記プロパティが前記第2の部分によって表され、および、前記プロパティの順守が、前記第1の部分を処理して該処理された第1の部分が前記第2の部分と一致するかを調べることによって確認される、請求項2に記載の方法。前記プロパティが前記ユーザに依存する、請求項1または2に記載の方法。前記ユーザのプロパティを順守しない所定数の入力パスワードまたは入力パスワードの部分を検出したときに、ブルートフォースアタックが試みられたと判断するステップをさらに有する、請求項1から4のいずれか1項に記載の方法。ブルートフォースアタックが試みられたと判断したときに適切なアクションを取るステップをさらに有する、請求項5に記載の方法。適切なアクションが、管理者への警告を発行すること、ユーザへの警告を発行すること、システムを遮断すること、および、さらなるログインの試みを受け入れる前に所定の時間待つことのうちの少なくとも1つを含む、請求項6に記載の方法。パスワードによって保護されたエンティティへのユーザのログオン中に入力パスワードを確認するためのデバイス110、120であって、パスワードのキャラクタを受信するためのインターフェース113、114、123、124、および、受信された少なくとも1つのパスワードキャラクタが正当なパスワードのための少なくとも1つの要件を設定する、既に定義済のプロパティαを満たすことを確認するためのプロセッサ111、121を備える、前記デバイス。前記インターフェースは、さらに、前記入力パスワードが完成したという指示を受信するためであり、前記プロセッサは、さらに、該完成した入力パスワードが、前記エンティティを保護するパスワードと一致することを確認するためである、請求項8に記載のデバイス。前記完成した入力パスワードが第1の部分および第2の部分を有し、前記プロパティが前記第2の部分によって表され、前記プロセッサが、前記第1の部分を処理して該処理された第1の部分が前記第2の部分と一致するかを調べることによって、前記プロパティの順守を確認するようになされる、請求項9に記載のデバイス。前記プロパティが前記パスワードのユーザに依存する、請求項8または9に記載のデバイス。前記プロセッサは、さらに、前記ユーザのプロパティを順守しない所定数の入力パスワードまたは入力パスワードの部分を検出したときに、ブルートフォースアタックが試みられたと判断するためである、請求項8から11のいずれか1項に記載のデバイス。前記プロセッサが、ブルートフォースアタックが試みられたと判断したときに、適切なアクションをさらに取る、請求項12に記載のデバイス。適切なアクションが、管理者に警告を発行すること、ユーザに警告を発行すること、システムを遮断すること、および、さらなるログオンの試みを受け入れる前に所定の時間待つことのうちの少なくとも1つを含む、請求項13に記載のデバイス。ソフトウェアプログラムの命令を記憶したコンピュータプログラムプロダクト140であって、前記命令が、プロセッサ111、121によって実行されるとき、パスワードによって保護されたエンティティへのユーザのログオン中に、入力パスワードの少なくとも1つのキャラクタを受信するステップ310、および、受信された前記少なくとも1つのキャラクタが、正当なパスワードのための少なくとも1つの要件を設定する、既に定義済のプロパティαを満たすことを確認するステップ320を実行する、前記コンピュータプログラムプロダクト。したがって、認証システムが自動化されたアタックを検知し、それによってシステムが適切なポリシーにしたがってそのようなアタックに反応できるようにすることができる解決法が必要とされていることを理解できよう。本発明は、そのような解決法を提供する。第1の態様では、本発明は、パスワードによって保護されたエンティティへのユーザのログオン中の入力パスワードの検証方法を対象とする。プロセッサは入力パスワードの少なくとも1つのキャラクタを受信し、該少なくとも1つの受信されたキャラクタが、正当なパスワードのための少なくとも1つの要件を設定する、既に定義済のプロパティを満たすことを確認する。第1の好ましい実施形態では、入力パスワードのすべてのキャラクタおよびその入力パスワードが完成したという指示が受信され、プロセッサは、その完成した入力パスワードがエンティティを保護するパスワードと一致することをさらに確認する。一変形形態では、完成した入力パスワードが第1の部分および第2の部分を有し、プロパティが第2の部分によって表され、および、プロパティの順守が、第1の部分を処理してその処理された第1の部分が第2の部分と一致するかを調べることによって確認される。第2の好ましい実施形態では、プロパティはユーザに依存する。第3の好ましい実施形態では、プロセッサは、ユーザのプロパティを順守しない所定数の入力パスワードまたは入力パスワードの部分を検出したときに、ブルートフォースアタックが試みられたと判断する。ブルートフォースアタックが試みられたと判断したときに適切なアクションを取ることは有利である。そのような適切なアクションは、管理者に警告を発行すること、ユーザに警告を発行すること、システムを遮断すること、および、さらなるログオンの試みを受け入れる前に所定の時間待つことのうちの少なくとも1つを含む。第2の態様では、本発明は、パスワードによって保護されたエンティティへのユーザのログオン中に入力パスワードを確認するためのデバイスを対象とする。本デバイスは、パスワードキャラクタを受信するためのインターフェース、および、少なくとも1つの受信されたパスワードキャラクタが正当なパスワードのための少なくとも1つの要件を設定する、既に定義済のプロパティを満たすことを確認するためのプロセッサを備える。第1の好ましい実施形態では、そのインターフェースは、さらに、入力パスワードが完成したという指示を受信するためであり、そのプロセッサは、さらに、完成した入力パスワードが、前記エンティティを保護するパスワードと一致することを確認するためである。一変形形態では、完成した入力パスワードは第1の部分および第2の部分を有し、プロパティは第2の部分によって表され、プロセッサは、第1の部分を処理してその処理された第1の部分が第2の部分と一致するかを調べることによって、プロパティの順守を確認するように適合される。第2の好ましい実施形態では、そのプロパティは、パスワードのユーザに依存する。第3の好ましい実施形態では、そのプロセッサは、さらに、ユーザのプロパティを順守しない所定数の入力パスワードまたは入力パスワードの部分を検出したときに、ブルートフォースアタックが試みられたと判断するためである。ブルートフォースアタックが試みられたと判断したときに適切なアクションを取ることは有利である。そのような適切なアクションは、管理者に警告を発行すること、ユーザに警告を発行すること、システムを遮断すること、および、さらなるログオンの試みを受け入れる前に所定の時間待つことのうちの少なくとも1つを含む。第3の態様では、本発明は、パスワードによって保護されたエンティティへのユーザのログオン中にプロセッサによって実行されるときに、入力パスワードの少なくとも1つのキャラクタを受信する、および、その少なくとも1つの受信されたキャラクタが正当なパスワードのための少なくとも1つの要件を設定する、既に定義済のプロパティを満たすことを確認する、ソフトウェアプログラムの命令を記憶するコンピュータプログラムプロダクトを対象とする。本発明の好ましい特徴が、添付の図面を参照して、非限定的例として、ここで説明される。図1は、本発明が実装され得る例示的システムを示す。本システムはコンピューティングデバイスコンピュータ110および認証サーバ120を備え、本発明がコンピュータ110に、認証サーバ120に、またはコンピュータ110および認証サーバ120の両方に実装され得ることを理解できよう。コンピュータ110および認証サーバ120は、標準パーソナルコンピュータPCまたはワークステーションなど、計算を実行する能力のある任意の種類の適切なコンピュータまたはデバイスでもよい。コンピュータ110および認証サーバ120は各々好ましくは、少なくとも1つのプロセッサ111、121、RAMメモリ112、122、ユーザと対話するためのユーザインターフェース113、123、および、接続130を介して他のデバイスと対話するための第2のインターフェース114、124を備える。コンピュータ110および認証デバイス120はまた各々、好ましくは、プロセッサによって実行されるときに、以下に記載されるパスワード方法のいずれかを実行する命令を記憶するデジタルデータサポート140からソフトウェアプログラムを読み取るためのインターフェースも備える。図示されたデバイスはわかりやすいように非常に簡略化されており、実際のデバイスは、永続記憶デバイスなどの機能をさらに備えることになることが当業者には理解できよう。中心となる考え方は、パスワードΩのセットにプロパティα規則または関数とも呼ばれるを追加することである。これは、完成したパスワード空間を以下の2つの明確なサブセットに分けることになる。-プロパティを順守する有効なパスワードすなわち、有効なパスワード空間のサブセット-プロパティを順守しない無効なパスワードのサブセットこれが、たとえば1つの大文字および文字もしくは数字以外の1つのキャラクタを含む少なくとも8つのキャラクタをパスワードが有することを要求する、一部の先行技術のシステムにも、既に当てはまることを理解できよう。しかし、重要なのは、この要件がディクショナリーアタックの影響をそれらが受けにくくするためにユーザのパスワードを多様化することのみを意図し、自動化されたアタックの検出を全く可能にしないこと、そして、正当なキャラクタを提案することによって有効なパスワードをユーザに案内することを一切しないことを理解することである。サブセットは有利には動的であること、および、したがってそれらが経時的に変化し得ることを理解できよう。このダイナミズムの1つの例示的実装は、直前に使用されたnパスワードを無効なサブセットΩiに入れることである。このサブセットは明確であるが、実装をしやすくするために、それらを定義する規則は重複することがあり、その場合、ある規則が別の規則に優先する必要がある。たとえば、ユーザの生まれた年の使用を禁じる規則は、有利には、その特定の組合せを他の方法で可能にすることになるどんな規則も覆す。ユーザがユーザインターフェースを介してパスワードを入力するとき、彼は有効なパスワード空間Ωνに制限される。本システムは、無効なパスワード空間Ωiおよび場合により第3のサブセットもまたからの要求をアタックとして考え、それに応じて反応することができる。プロパティαの選択は、パスワードエントロピΩνのサイズとアタックの可検出性Ωiのサイズの間のトレードオフである。したがって、プロパティαの使用は、ブルートフォースアタックの検出を可能にする。アタッカーがすべてのパスワード値に体系的にトライする場合、これは必ずΩiの要素を含むことになる。加えて、ディクショナリーアタックは、Ωiに知られているまたはありそうな辞書要素を加えることによって、対抗可能である。プロパティαは複雑な関数でもよい。それは、完成したパスワードに適用可能であるが、好ましくは、ユーザインターフェースによる各シンボル入力について確保されるべきである。この場合、所与のステップで入力可能なシンボルは、前に入力されたシンボルに依存する。好ましくは、プロパティαは、無効なサブセットからパスワードを使用する無視できない可能性をランダムなパスワードの推測が有することを確保するために、十分に混合したおよび無視できないサイズの2つのセクションにパスワード空間を分割する。たとえば、テキストのパスワード入力について、プロパティαは、大文字と小文字とを交互にすることでもよい。この場合、第1のシンボルについて、任意のキャラクタ大文字または小文字が、パスワード作成中に選択され得る。次いで、ユーザインターフェースは、前のキャラクタが大文字であった場合には小文字キャラクタのセットを提案し、その逆の場合も同様である。したがって、プロパティαは、パスワードの作成の各ステップで確認される。たとえば、有効なパスワード空間Ωνと無効なパスワード空間Ωiの間の比率rが非常に低いr<<1場合、そのとき、有効なパスワードを見つけ出すことは困難であり、システムはまた、規則についていくらかの知識を有するハッカーからのアタックに対して弱くなることがある。一方で、r>>1の場合、そのとき、ほとんどすべてのパスワードが有効であり、アタックを検知する可能性は低い。したがって、比率r≒1、おそらく0.5<r<2が、経験則として使用され得る、よい妥協案であることが明らかとなろう。プロパティαは、たとえばユーザ名のような様々な要素に依存し得る。この場合、2人のユーザは、彼らのパスワードを構築するための異なる規則を有することができる。たとえば、ユーザ名のキャラクタの数が奇数別に偶数である場合、そのとき、パスワードは大文字別に小文字キャラクタのみを含むべきである。大文字と小文字のキャラクタの混合からなる任意の要求は、アタックとして考えられることになる。もう1つの例は、ユーザ名とパスワードのキャラクタの数の合計が偶数または奇数になるように求めることである。プロパティαの定義は、多数のパラメータを考慮して、非常に複雑になり得る。しかし、複雑すぎるプロパティは、以下の欠点を有し得る:結果として生じるパスワードが記憶するには困難となり得、および、有効なパスワードセットΩνのサイズが、十分なエントロピを確保するには小さくなりすぎることがある。システムのセキュリティの全体のレベルは、プロパティαの機密性に依存する。このプロパティを知るまたは推測することは、有効なパスワード値Ωνのセットを構築し、検知されることなしに、このセットでディクショナリーアタックを実行することを可能にすることになろう。アタッカーが有効なサブセットΩνを再構築することをより困難にするために、ログインの瞬間にユーザインターフェースで制約を積極的に強調せず、パスワード構築中にのみ、そうすることが有利である。さらに、認証システムで使用される伝統的な対抗手段たとえば、トライの最大数、および誤ったパスワード入力間に課される遅延は、本発明の解決法と組み合わせてやはり使用可能である。実施例本項では、PINコードの研究事例を介して本発明の発想を説明する。本例はまた、たとえばディクショナリーアタックの回避など、伝統的対抗手段の一般化についてハイライトする。PINコード、{0,...,9}で選択された一連の4桁を考える。一般的に、パスワード生成における任意の条件を有さない先行技術は、パスワード空間Ωが、0000と9999の間のすべての10進法の数によって表され、である。以下でPINコードはpとして示され、である。一般的な場合には、である。第1のステップは、たとえば、同じ数字が4回繰り返されるたとえば7777または4桁が増加列increasingsequenceたとえば1234である、あまりに頻繁に使用されるまたは単純すぎる組合せの特定のセット、辞書、を排除することでもよい。そのようにして実装される本システムは、選択されたPINコードがその辞書の部分でないことをパスワード生成中に確認し、そうである場合には、選択されたPINコードを有効にすることになる。ログインまたは他の種類の認証中、無効なサブセットΩiからのPINコードが入力された場合、システムは例外を送出し、計画された対抗手段を取る。シンボルにおいて:である。第2のステップは、関数αを統合してパスワード空間Ωを有効なサブセットおよび無効なサブセット後者は辞書と結合されることになるに分割することでもよい。たとえば、関数αは、前の数字に関連してあらゆる数字のパリティが変わらなければならないことを提示することができる。本システムは、そのインターフェースを修正すること、および、オプションで有効な数字のみを示すことによって、生成段階中にこの規則の順守を、オプションで強制する。パスワード認証中、本システムは、入力されたPINが規則αを順守することをチェックし、そうでない場合には、次いで例外が送出され、本システムは計画された対抗手段を取る。再び、シンボルにおいて:である。この例では、関数αは、辞書条件によって禁止された幾つかの組合せを許す。次いで、第3のステップは、パスワード生成時に、インターフェースを介してアクティブ条件を強制すること、または無効なPINコードを単に拒否することである。パスワード認証中、本システムは、ステップ2および3にあるように両方の条件を確認し、そしてそうでない場合には例外を送出する。有効なPINコードの可変性はαからαに減るもののPINコードの選択に有用なサイズをまだ維持することが容易に確認され得る。許可されたおよび禁止されたPINコードセットは、無視できないサイズの、十分に混合したものであることもまた観測され得る。この後者のプロパティは、使用される特定のα関数のみではなく、本システムを攻撃するために使用されるツールにもまた依存する。オプションで、既に述べたように、ユーザ名に依存する関数αに可変性を加えることが可能である。このPINの例では、PINコードの第1の桁のパリティがユーザ名の長さのパリティと異なることが必要とされる。その場合、loginはユーザによって入力されたユーザ名を示し、{login}はその長さを示し、さらに、ρ0は{login}のパリティを示す。シンボルにおいてαにこの条件を含めると以下になる。図2は、本発明の好ましい実施形態によるパスワード生成の方法を示す。本方法は、コンピュータ110に、またはコンピュータ110と対話する認証サーバ120に実装され得る。第1に、本システムは、次のユーザ入力のために、起こり得るキャラク、すなわちプロパティαに準拠するキャラクタを提案することができる、ステップ210。特に第1のキャラクタについて、選択が自由であることを条件として、このステップは飛ばすことができる。本ステップは、その入力キャラクタがプロパティαを満たすことを確認し、そうでない場合には、そのキャラクタを受け入れることを拒否するステップによって置き換えることができることを理解できよう。次いでキャラクタがユーザから受信され、ステップ220、そのパスワードが完成したかが確認される、ステップ230。これはユーザ入力ユーザがアイコンをクリックするまたはリターンを押すかなどによって指示され得るが黙示的でもよい。パスワードが完成した場合、本方法は次いでステップ240で終了し、そうでない場合には、本方法はステップ210に戻る。図3は、本発明の好ましい実施形態によるパスワード検証方法を示す。本パスワード検証方法は、ユーザが、確認されることになるパスワードによって保護されたエンティティアカウント、デバイス、サーバなどにログオンするときに、有利には実行される。パスワード生成方法と同様に、本検証方法は、コンピュータ110または認証サーバ120によって実施され得る。キャラクタが受信され、ステップ310、そして、そのキャラクタがプロパティαを満たすかが確認される、ステップ320。そうでない場合には、ブルートフォースアタックが試みられたと判断することができ、そして、適切なアクションがステップ330で取られ得る。適切なアクションは、たとえば、管理者および/またはユーザに警告を発することと、X非準拠パスワードの入力の後にシステムを遮断することと、さらなる試みを受け入れる前の遅延の使用であってもよい。パスワード全体が入力されるまで適切なアクションを保留することが可能であり、その場合に本方法はステップ340で継続することを理解できよう。適切なアクションはまた、ある一定数の誤ったパスワードすなわち、プロパティαを順守しないパスワードが入力されるまで延期可能であり、誤ったパスワードの数は、たとえば、最後のY秒間のX個の誤ったパスワードなど、時間を考慮することができる。ステップ340で、パスワードが完成したかが確認され、それは生成方法のステップ230と同様の方式で行われる。そうでない場合、本方法は次いでステップ210で次のキャラクタの受信を待つが、そうである場合、プロパティαが順守されない場合にはこれは必要ではないことがあるが、したがってパスワードは正しくなり得ないが、入力パスワードが次いで確認される、ステップ350。言い換えれば、入力パスワードが、そのエンティティを保護するパスワードと一致することが確認される。前述のように、適切なアクションがこのとき、並びにそれ以前に取られ得る。プロパティαの順守はこのステップまで延期可能であることにも留意されたいすなわち、ステップ320は、パスワードの検証前またはパスワードの失敗した検証の後のいずれか、ステップ350まで生じない。代替的実施形態プロパティαを表現するための異なるやり方は、ユーザによって一体的に選択されたパスワードの最後に、認証パディングとしてサーバによって選択された1つまたは複数のキャラクタを加えることである。それらのキャラクタは、ユーザによって入力されたパスワード、彼のログインおよびサーバ側の秘密パラメータをパラメータとして取る擬似ランダム関数の結果であることが望ましい。この解決法の欠点は、ユーザが彼のパスワードに追加されたさらにいくつかのキャラクタを記憶しなければならないということである。この後者の方法の一例はHMACハッシュベースメッセージ認証コードベースの解決法であるため、生成段階にユーザは彼のパスワードを入力し、本システムがそのHMACを計算し、ユーザによって入力されたパスワードとHMACの最初のn桁を連鎖することによって構成された完成したパスワードを返す。認証段階で、ユーザは、パスワードを入力し、そうするとすぐに本システムはそれが可能なパスワードであるかをチェックし、最後のn桁がHMAC値と一致することを確認する。本発明が以下のようなパスワードを確認するやり方を提供し得ることを理解できよう:-ブルートフォースアタックおよびディクショナリーアタックに対し耐性がある、-システムが、それがアタックにさらされているかを識別することを可能にする、-既存のパスワードベースの認証システムと互換性がある、-スケーラブルである大きなアルファベットを有する長いパスワードで使用可能である、そして、-プロパティαが種々の環境PINコード、テキストのパスワード、グラフィックパスワードに適合することができる。本明細書で開示される各機能、並びに適切な場合には特許請求の範囲および図面は、独立して、または任意の適切な組合せで提供可能である。ハードウェアに実装されるものとして記載された機能は、ソフトウェアにも実装可能であり、その逆の場合も同じである。本特許請求の範囲に現れる参照番号は、単に例としてであり、本特許請求の範囲への制限的効果を何ら有さない。"