質問
ウェブサイトに強力なパスワードを強制するための多くのテクニックがあります:
- さまざまな複雑さの正規表現をパスワードに渡すように要求する
- パスワードを自律的に設定して、カジュアルなユーザーが強力なパスワードを持つようにする
- パスワードの有効期限が切れる
- など
一方で、欠点があります。これらはすべて、ユーザーの生活を楽にしなくなり、登録が少なくなるためです。
では、どのようなテクニックを使用していますか?最高の保護対不便率を提供するのはどれですか?
問題を解決するために、私は銀行サイトやクレジットカードを保存するサイトを参照していません。登録が必要な人気のある(またはあまり人気のない)サイトの観点から考えてください。
解決
強力なパスワードを強制することはできないと思いますが、できる限りそれらを奨励するためにできることはたくさんあります。
- 各パスワードを評価し、スコアまたはグラフィカルバーなどの形式でユーザーにフィードバックを提供します。
- 最小パスワードスコアを設定して、ひどいものを除外します
- 禁止されている一般的な単語のリストを作成するか、パスワードスコアを減らす
私が使用したい優れたトリックの1つは、パスワードの有効期限をパスワードスコアに関連付けることです。そのため、より強力なパスワードを頻繁に変更する必要はありません。これは、選択したパスワードの有効期間をユーザーに直接フィードバックできる場合(特に、文字の追加が日付に与える影響を確認できるように動的に更新できる場合)、特にうまく機能します。
他のヒント
何も強制しないでください...財務情報や同様に重要なものを保護していない場合、ユーザーに強力なパスワードを選択させないでください 。
フォーラムなどへの登録を必要とするサイトの負荷全体に同じ弱いパスワードを持っています。誰かが推測してメッセージを投稿できるかどうかはあまり気にしません(そして、あまり動機がないと思います)そうする誰か)。私ができないのは、1ダースのサイトで異なる強力なパスワードを覚えており、それらを管理するために別のソフトウェアを使用したくないということです。
最良の妥協点は、パスワードの強さに関する何らかのフィードバックをユーザーに示すことです(辞書の単語であるか、異なる文字タイプの数、長さなどに基づいて)。
なぜ実施するのですか?
"パスワード強度メーター" (入力中のパスワードの強度を示すバー)は、通常、非侵入型の適切な手段です。これにより、セキュリティを気にする人はパスワードの弱さについて罪悪感を抱くようになりますが、あまり気にしない人は欲求不満になりません。
あなたが言ったように、それが本当にサイトのタイプに依存するというのは私の経験です。
銀行または金融のWebサイトを作成している場合、ユーザーは通常、個人データが危険にさらされる可能性があるため、より安全なパスワードを持っているかどうかを理解します。
ただし、通常は多くの個人情報を含まないサイトでは、単純なパスワードで十分です。ハッキングの試みが少ない傾向があり、とにかく価値のあるものは何も得られません。
また、ほとんどの人が頻繁に使用するパスワードをいくつか持っているようだということもわかりました。 1つは複雑で、もう1つは単純です。そのため、複雑なパスワードを使用するように要求しても、通常はユーザーが登録できなくなることはありません。
有効期限が切れるパスワードが正常に機能することはありません。前にも言ったように、多くの人は頻繁に使用するパスワードのセットを既に持っているので、あなたのサイトのためだけにこの範囲外に行くように頼むと、戻ってきたくないかもしれません。
最良の方法は、実際にサイトと使用しているものによって異なります。しかし、理想的な方法は、送信する前にできる限りクライアント側で行うことです。 RegExを使用するのは良い方法です。フォームを再度送信する必要がないようにできる場合は、理想的です。
パスワードの有効期限を切れると、このプラクティスには2つの顕著な問題があります:
- ユーザーは現在のパスワードを覚えるのが難しくなるため、モニターに貼り付けられたポストイットにそれらを書くなどの愚かなことをする可能性が高くなります。
- ユーザーは、試行ごとに新しい強力で無関係なパスワードを生成しません。ほとんどの場合、彼らは古いスキームと同様のパスワードを生成するために何らかのスキームを使用します。したがって、攻撃者が古いパスワードを取得した場合でも、新しいパスワードを推測するのは非常に簡単です。
編集:アイデア全体に反対しているわけではありませんが、これは他の要因と一緒に考慮する必要があります。
AjaxツールPasswordStrengthがあります。これは、パスワードが適切かどうかをユーザーに知らせるものです。パスワードの作成を禁止する必要がないため、気に入っています。
http://www.asp.net/AJAX/AjaxControlToolkit /Samples/PasswordStrength/PasswordStrength.aspx
これが行われたことは一度もありませんが、見事に機能するようです。パスワード作成ページには、たとえば一般的なパスワード。パスワードを入力する前にユーザーを少し下にスクロールさせます。これは、チェッカーの提案と組み合わせて、不注意な選択を防ぐのに大いに役立ちます。
ただし、パスワードの再利用を防止する問題を解決しています...手がかりはありません。