私たちのお客様は、プレーンテキストのパスワードを使用してログインパスワードの回復について苦情を申し立てました。私が知っている唯一の回避策は、クエリー文字列にユーザ名とパスワードを暗号化して自動ログインすることです。プレーンテキストパスワードと自動ログイン
パスワード回復セキュリティを強化するために他にどのようなオプションがありますか?
ありがとうございました。
私たちのお客様は、プレーンテキストのパスワードを使用してログインパスワードの回復について苦情を申し立てました。私が知っている唯一の回避策は、クエリー文字列にユーザ名とパスワードを暗号化して自動ログインすることです。プレーンテキストパスワードと自動ログイン
パスワード回復セキュリティを強化するために他にどのようなオプションがありますか?
ありがとうございました。
パスワードをリセットするURLを送信できます。
最低限、ユーザーIDとハッシュ値を格納するデータベース表を作成できます。
ハッシュを含むリンクをユーザーに送信し、受信ページで関連情報を検索し、ユーザーがパスワードをアカウントにリセットできるようにします。これはデータベースにハッシュ値として格納することを望んでいます。平文のパスワードは、決して保管または発送しないでください。
パスワードが変更されると、リンクの有効期限が切れるか、無効になるようにしてください。そうしないと、誰かがいつでもそのリンクを訪れてパスワードを変更することができます。
つまり、プレーンテキストのパスワードをどこにでも保存することは決して良い考えではありません。 – crush
興味深いことに、私たちはASP.NET MVC 3の標準メンバーシップを使用しており、パスワードは暗号化されています。それはASP.NET MVC 3が単にいくつかのパラメータを変更するだけのものですか? – abenci
はい、暗号化されたパスワードではなくハッシュを使用するように、既定のメンバーシッププロバイダを構成できます。 'enablePasswordRetrieval =" false "'と 'enablePasswordReset =" true "'を設定する必要があります。 'passwordFormat =" Hashed "と設定することもできます。 – danludwig
アカウントの実際のパスワードをプレーンテキストでユーザーのメールアドレスに送信しません。その理由は、ユーザーの電子メールアドレスを今すぐハッキングした場合、実際のパスワードがあるからです。このパスワードは他のシステムでも使用される可能性が高いです。
代わりに、そのユーザーにリンクしている暗号化されたクエリ文字列を送信し、そのユーザーに固有のセキュリティ質問または人口統計に基づいてパスワードを変更できるようにすることもできます。
Facebookは、名前と友達の画像のマッチングを使用します。あなたのDOBと住所があればそれを使うことができます(安全ではありません)。あるいは、特定のセキュリティ上の質問と回答を設定することもできます。ブランドンの優れた答えと同じ線に沿って
プレーンテキスト版パスワードをデータベースに格納してユーザーに送信することはできません。認証は、一方向ハッシュを使用してデータベースに対するパスワードを検証する必要があります。 – tawman
@タウマン:私はハッシュと塩が行く方法だと同意します。 –
は、ここで私たちが何をすべきかです:
は、プレーンテキスト、あるいは解読値でパスワードを保存しないでください。常に一方向ハッシュアルゴリズムを使用してパスワードを保管してください。これは、プレーンテキストのパスワードが何であるかをユーザーが知ることができることを意味します。
ユーザーがパスワードを忘れた場合は、電子メールアドレスを入力するフォームを提示し、[送信]をクリックします。
電子メールアドレスを送信するときは、2つの主要な部分でテーブル行を作成します。最初はパスワードリセットトークンです(これはGuidを使用しています)。トークンにはタイムスタンプを付けて、いつ作成されたか、期限が切れた時点(私たちは提出から2時間以内に期限切れになる)を知るようにする必要があります。 2番目の部分は、ユーザーがパスワードをリセットするために入力する必要がある秘密のコードです。
トークンと秘密コードを受け入れるページへのリンクをユーザーに電子メールで送信します。彼らがリンクをクリックする(またはページにアクセスして手動でコードを入力する)と、以前の値を知らずにパスワードを変更できるページを提示することができます。電子メールアカウントがあることはもちろん仮定 - ユーザーのメールアカウントが後で侵害された場合、犯罪者がパスワードをリセットするために電子メールを使用することはできませんので、時間に制約のトークンを使用して
は、良いアイデアですパスワードリセット要求から2時間以内に侵害されることはありません。
現在のパスワードを平文で送信すること、または新しいパスワードを生成して送信することについて言及していますか? – Brandon
パスワード回復セキュリティとは何ですか?パスワードを回復する必要があるのはなぜですか? – crush
@Brandon:私は現在のパスワードを意味しました。 – abenci