パスワードポリシーを設計する
コンプライアンス、安全性、ユーザーフレンドリーな製品のパスワードポリシーを作成するための洞察を得て、Logtoがあなたの認証プロセスの安全性を確保します。
パスワードは本当にあなたを守っているのか?
製品内で、クラシックな認証方法であるパスワードに頼る必要があるでしょう。パスワードは完全には置き換わらないとしても、代替の認証方法に比べて攻撃に対して脆弱です。あなたのパスワードポリシーは本当に安全でコンプライアンスに準拠したものですか? 様々なパスワードポリシーの技術に精通していても、それらを層にして本当に効果的なのでしょうか?
NISTの仕様を深く研究し、主要な製品のパスワードポリシーを検討し、ユーザーエクスペリエンスのバランスを確保することで、パスワードポリシーの設計と構成の複雑さに取り組みます。パスワードコンプライアンスの重要性を強調し、パスワード戦略に伴う課題を解消し、パスワードを他の多要素認証 (MFA) 検証要素とシームレスに統合することでアカウントセキュリティを確保するための包括的なプロセスを提供します。
ユーザーが必要とするパスワードの種類とは?
製品設計者は、自社の製品が十分に安全であるかどうかという問題に悩まされ、厳しく複雑なパスワードポリシーを実装することがよくあります。たとえば、大文字と小文字の組み合わせ、数字、特別な文字を要求したり 、社員の定期的なパスワード変更を義務付けたりします。
こうしたパスワード要件に直面すると、ユーザーはすぐに不満を声に出します:「なぜこんなに複雑なの? パスワードを覚えるのがフルタイムの仕事のように感じる!」 製品マネージャーは頭を悩ませ、複雑なパスワードポリシーが必ずしも優れているとは限らないと考えます。包括的なパスワードポリシーの要素を分解して見てみましょう。
次のセクションでは、パスワードポリシーの微妙な点を掘り下げ、セキュリティとユーザーの利便性のバランスを取ります。適切なパスワード要件を定義する方法を探り、アプローチを裏付けるデータに基づく洞察を提供します。
すべてのパスワード要素のチェックリスト
まず、数多くの製品とNIST仕様を分析した後、パスワード要素と設計に関する推奨事項の包括的なリストを作成しました。
これらは大まかに3つのグループに分類されます:
- パスワード設定要件: ユーザーが設定するパスワードの最低要件。
- パスワードセキュリティの監視: パスワードのリスクが検出された場合の即時の行動とフィードバック。
- パスワードユーザーエクスペリエンス: パスワードの作成と検証中のユーザー入力体験の向上。
カタログ | 要素 | 分析 (https://pages.nist.gov/800-63-3/sp800-63b.html#sec5 参照) |
---|---|---|
パスワード要件の設定 | 長さ | パ スワードの長さを増やすことは、複雑さよりもパスワードクラックを防ぐのに効果的です。NISTは8文字以上を推奨していますが、より長いパスワードを許可すべきです。 |
文字タイプ | パスワードはさまざまな文字タイプをサポートでき、大文字、小文字、数字、記号、ユニコードを含みます(スペース文字も許可すべきです)。 | |
パスワードポリシーは特定の情報を記憶するようユーザーに求めるべきではありません。これはセキュリティを効果的に高めることなく複雑さを増すことが証明されています。https://www.notion.so/General-f14f0fb677af44cb840821776831a021?pvs=21 | ||
低安全性のフレーズ | ユーザーが推測しやすいまたはクラックされやすいパターン(繰り返しや連続した文字、一般的な単語、ユーザー情報、製品情報)を使用する場合、パスワードを変更するよう促すことが望ましいです。 | |
漏洩パスワード | 新しいユーザーパスワードはリークされたパスワードリストと照合し、それが漏洩していないことを確認する必要があります。 | |
パスワードセキュリティの監視 | パスワード検証のレート制限 | パスワード入力の誤りが続く回数を制限します。この制限に達したときは、MFAの要求、プッシュ通知の送信、クールダウンタイムの導入、アカウントの一時停止などのセキュリティ対策を実施します。 |
パスワードの強制変更 | 認証情報が危険にさらされた証拠がある場合は、パスワード変更を強制しなければなりませんが、任意にパスワードを変更することは求められません。 | |
パスワード履歴 | 再使用できない過去のパスワードの記録を維持します。過度なパスワード再利用の制限はお勧めできず、ユーザーは軽微な変更を加えてこのルールを回避する可能性があります。 | |
パスワード変更後のセッションクリア | パスワードを変更した後で他のデバイスからサインアウトするかどうかをユーザーが選択できるようにします。 | |
パスワード入力体験 | パスワード強度メーター | 強力な記憶された秘密を選択するためのガイダンスをユーザーに提供します。 |
パスワードプロンプト | パスワードヒントを表示しないようにします。これは不正アクセスの確率を増加させます。 | |
パスワードのコピーアンドペースト | パスワードマネージャーの利用を促進するために「ペースト」機能の使用を許可します。 | |
パスワードの表示 | パスワードを入力する際、送信するまでドットまたはアスタリスクで表示するのではなく、入力したまま表示するオプションを提供します。 |
パスワードエクスペリエンスを構成するツール
おそらく、チェックリストのすべての項目を確認する余裕はないでしょう。これらの設定オプションをすべて包含する強力なパスワードツールを設計したとしても、それは開発者にとって頭痛の種となり、複雑なパスワード ポリシー自体よりも複雑になってしまうかもしれません。したがって、さらに簡略化してパスワード要素を3つのステップに分けてみましょう。
ステップ1: 不要なルールを排除する
表に示したように、一部の時代遅れのパスワードルールはセキュリティを強化するように思われるかもしれませんが、実際にはほとんど貢献せず、ユーザーの不満や混乱を引き起こすことが多いです。
- ユーザーが使用しなければならない文字の組み合わせを制限せず、文字タイプの数を制限するだけで十分です。たとえば、Facebook、Discord、Stripeは特定の文字タイプの組み合わせを要求せず、Googleのパスワードポリシーは「少なくとも2つの種類の文字、数字、記号」を要求するだけです。
- 定期的にパスワードを変更することを義務付けないでください。これはユーザーの記憶に不要な負担をかけます。代わりに、認証情報の危険がある場合のみパスワード変更を要求してください。
- ユーザーの誤解を防ぐために、明確な最低パスワード要件とパスワード強度メーターのどちらかを選択するだけです。
- ユーザーが必ずしも犯さない誤りを読むことに集中させないように、あまりにも複雑なルールを前面に出さないでください。
- パスワードヒントを使用しないでください。これは潜在的な攻撃者に利点を与えてしまいます。