web-dev-qa-db-ja.com

パスワード強度はどこのように計算されますか?

次のものを含むパスワード。

  • 少なくとも1つの大文字、
  • 少なくとも1つの小文字
  • 少なくとも1つの数
  • 少なくとも1つの英数字以外の文字

私はこれまで使ってきた...すべてのシステムで中程度から強い(時には非常に強い)と見なされます。 非常に弱いと見なされます。私はここで何が足りないのですか?

これが非常に弱いパスワードである場合、パスワード強度メーターを作成した人によって、強いまたは非常に強いと見なされるためにどの規則を一致させる必要があります。 Wordpress.orgネットワークシステム?

4
trejder

最新バージョンのWordPressのパスワード強度計は、2012年にDropboxによって作られた "zxcvbn"と呼ばれるライブラリを使用します。

このライブラリはGithubで無料で入手できます。 https://github.com/dropbox/zxcvbn

ライブラリの説明はこちら: https://blogs.dropbox.com/tech/2012/04/zxcvbn-realistic-password-strength-estimation/ /

しかし、簡潔に言えば、単純な方法ではなく「大文字を使用する」および「記号を使用する」方法ではなく、パスワード内のパターンを分析するということです。

たとえば、パスワード "Passw0rd123!"現代の標準では良いパスワードではありません。それは辞書のWordを使い、それは一般的なleet-speak replacementを使い、それは大文字で始まり、それは記号で終わり、そしてそれは連続した数字の一般的なパターンである整数を含む。これは人間のパターンであり、現代のパスワードクラッキングシステムは、厳密にその種類のパスワードをクラックするようになっています。

Zxcvbnライブラリ( "zxcvbn"は不適切なパスワードの例です)には、一般的なパスワードのリスト、一般的な英語の辞書、およびこれらのパターンを認識するように設計された多数の方法が含まれます。 wasd "=ゲーマーがよく使う接続文字。" 951357 "はテンキーのXの形です)。これらの種類のものはすべてランク付けされ、スコアが形成されます。

現代のパスワードは、基本的には完全な意味不明の語句、つまり長いフレーズであり、単純なパターンではありません。それ以下のものは通常、現代のパスワードクラッカープログラムには安全ではありません。

Javascriptデモに「良い」パスワードがあると思うことを試してください。それは啓発を証明するかもしれません:

https://lowe.github.io/tryzxcvbn/

10
Otto