実際に役立つパスワード強度メーター: UX と NIST のガイダンス
現在の NIST ガイダンスに従ってパスワード フィールドと強度メーターを設計する方法: 記号の長さ、ブロックリスト、貼り付けおよびパスワード マネージャー、明確なフィードバック。
核心
現在の NIST ガイダンス (SP 800-63B) では、構成ルールよりも長さとブロックリストが優先されます。つまり、単独で使用されるパスワードは少なくとも 15 文字である必要があり、サービスでは少なくとも 64 文字が許可される必要があり、文字タイプの混合を要求してはなりません。優れた強度メーターは、実際の推測可能性を推定し、長さに報酬を与え、問題を平易な言葉で説明し、ペーストおよびパスワードマネージャーと連携します。
NIST の今の発言
NIST Special Publication 800-63B では、検証者向けの最新のパスワード ルールが規定されています。
- 唯一の要素として使用されるパスワードは、少なくとも 15 文字である必要があります。多要素認証内で使用されるパスワードは短くても構いませんが、少なくとも 8 文字です。
- サービスでは、少なくとも 64 文字の最大長を許可する必要があります。
- サービスは、文字タイプの混合を要求するなどの構成ルールを課してはなりません。
- 新しいパスワードは、拒否の理由を示して、一般的な値、予期される値、または侵害された値のブロックリストと照合する必要があります。
- サービスは、ユーザーが強力なパスワードを選択できるようにするためのガイダンスを提供する必要があります。
優れたメーターの測定値
キャラクターの種類をカウントすると「Password1!」が獲得できます。そして長いパスフレーズを罰します。その代わりに、Dropbox のオープンソース zxcvbn などの推定ツールは、攻撃者が使用するパターンを探し、何万もの一般的なパスワード、名前、単語を認識し、パスワードが実際にどの程度推測されやすいかを推定します。メーターは、そのような推定値とブロックリストに基づいて設定します。
フィールドをデザインする
小さなことが、人々が成功するかどうかを決定します。
- パスワード マネージャーが機能するように、貼り付けと自動入力を許可します。
- 可能な場合は、パスワード確認フィールドの代わりに表示/非表示の切り替えを提供します。
- 入力する前に要件を表示し、ユーザーが入力するにつれて進行状況を確認します。
- 拒否をわかりやすい言葉で説明します:「このパスワードは既知の侵害に使用されます。」
- 最大長を人為的に低く設定しないでください。
モーションとフィードバック
パスワードが改善されるとスムーズに増加するメーターは、励ましとなる即時のフィードバックを提供します。気が散るほどアニメーション化しないでください。また、色だけを使用しないでください (「強い」などのテキスト ラベルを追加します)。また、ユーザーが入力している間はフィールドが揺れないようにしてください。
覚えておきたい原則
- NIST: 単一要素パスワードの場合は 15 文字以上、少なくとも 64 文字は許可されます
- 構成ルールはありません。代わりにブロックリストと照合してください
- 文字タイプではなく、推測可能性 (zxcvbn など) を推定します
- ペーストおよびパスワードマネージャーを許可します。オファーの表示/非表示
- メーターの色とテキストラベルを組み合わせる
よくある質問
出典
- NIST SP 800-63B: Authentication and Authenticator Management — NIST
- zxcvbn: low-budget password strength estimation — GitHub (ドロップボックス)
- Error-Message Guidelines — Nielsen Norman Group