パスワードは 8 文字以上で、大文字 1 つと数字 2 つを使用する必要があります。これでは、ユーザーのすべてのパスワードについてハッカーに多くの情報が与えられませんか?
どれどれ。句読点を無視すると (強制されない限りパスワードに句読点を入力する人は多くないため)、パスワードに一般的に使用される文字は 62 文字です。もちろん、ほとんどのパスワードはランダムに生成されるわけではないため、一部のパスワードは他のパスワードよりも一般的です。
「最小8文字」とだけ言った場合と、追加の制限を加えた場合とを比較してみましょう。また、最悪のパスワードを想定してみましょう。これは、最小の長さだけです。
任意の文字の組み合わせが許可されている場合、可能なパスワードの数は62**8
です。2.2 * 10**14
大文字 1 文字と数字 2 桁の制限がある可能なパスワードの数は (ええと、私は組み合わせ論が得意ではありません) より多く62**5 * 26 * 100
、つまり です2.4 * 10**12
。
したがって、攻撃者は確かにより多くの情報を持っています。パスワードの合計スペースは 99% 小さくなっています。でも小さすぎない?この 2.4 兆と 220 兆というサイズの違いは、攻撃者がパスワードをブルート フォース攻撃する場合としない場合の違いになるのでしょうか?
おそらくそうではありません。違いがあったとしても、8 文字ではなく 9 文字を要求するだけで、ほとんどのスペースを取り戻すことができます。そのため、自分が何をしているのかを理解し、強力なパスワードを選択するユーザーのリスクが高まることはありません。
パスワードに大文字と数字を要求することがパスワードを強化する最善の方法であるとは完全には確信していませんが、ユーザーが辞書の単語を使用できないようにすると、攻撃者の邪魔になります. そのスペースから最悪のパスワードを排除しました。つまり、サイト上で「最も推測しやすいパスワード」を少なくともクラックしにくくしたことを意味します (うまくいけば)。パスワードに対するこれらの単純な制限で期待できることは、これでほぼすべてです。
脅威モデルについて少し考える必要があります。たとえば、期間があり、その期間が過去/現在/未来のいずれであるかはわかりません.2兆のエントリのレインボーテーブルは計算上実行可能ですが、200兆のレインボーテーブルは実行不可能です。地球上で最も有能な攻撃者の時代は過去にあり、平均的なクラッカーの時代は未来にあると思いますが、それが起こるたびに、この歴史の時代は短いものであり、したがって、Web サイトのベースにしたくないでしょう。実際の攻撃者の現在にあることを前提としたセキュリティ。
では、ユーザーごとに異なるパスワード基準を適用する方がよいでしょうか? 攻撃者が、より小さなパスワード スペースの恩恵を受ける攻撃を適用している場合は、そうなるでしょう。ただし、いずれかの制限が弱い場合 (例のリストで「5 文字以上で数字が 2 つある」が最も弱い)、すべてのユーザーに対して最も強力な制限を使用した場合よりも弱いパスワードを持つ一部のユーザーが許可されます。
したがって、基本的にいいえ、同等の価値のあるいくつかの基準のいずれかをランダムに適用しても、大きなメリットはないと思います。それができる最善の方法は、必要な攻撃のサイズに、選択したさまざまな基準の数を掛けることです。それは、さまざまなルールが完全に交差しないパスワードのスペースを生成する場合であり、実際にはそれほど良くありません.
大文字または数字を要求することは、ユーザーに辞書にないパスワードを選択するよう促し、おそらくユーザーが何をしているかについて少し考えさせるための心理的なトリックです。それが機能する場合、それは素晴らしいことであり、同じルールを全員に適用するかどうかに関係なく機能します。許可されたパスワードのスペースは、ユーザーが実際に考えて使用するパスワードのスペースと比較して、ほとんど無関係です。
ユーザーが脆弱なパスワードを選択するのを防ぎたい場合は、制限が適用されていても、最も一般的に選択されているパスワードをブロックしてください ( http://gizmodo.com/5954372/the-25-most-popular-passwords -of-2012、https: //xato.net/passwords/more-top-worst-passwords/ )。これらは、ブルート フォース攻撃者が試みる最初の攻撃の 1 つです。それらの多くには数字が含まれています。研究者がすべてを小文字にしたため、大文字が含まれているかどうかを判断することはできません。
研究者によると、公開されたパスワードの 91% が上位 10k (大文字と小文字を区別しない) に入ったことに注意することは非常に重要です。そのため、各パスワードに大文字を 1 つ含め、平均長が 6.3 文字であっても、攻撃者は 63,000 回の推測でアカウントの 91% を総当たり攻撃できます。ユーザーにこれらのパスワードを許可すると、運が良ければ、ささやかなボットネットからのオンライン攻撃でパスワードを見つけるのに 1 日程度かかることになります。安全にハッシュされ、ソルト化されたパスワードのリストに対するオフライン攻撃の数秒。
これらの最も一般的なパスワードを取り除くことは、攻撃者が力ずくで攻撃するのを困難にするために絶対に必要です. パスワード スペースの正確なサイズはそれほど重要ではありません。