リセットASP.NET パスワードのセキュリティの問題ということか。
-
23-09-2019 - |
質問
から様々な質問に関して、この問題があると思います。ユーザがパスワードを忘れたいと思いることができるようにリセットでは自分のメールアドレス(すなわちありません秘密の質問応答).パスワードに格納されてい塩のハッシュな回復が可能です。代わりに、私のように、ユーザが新しいパスワードを入力後、確認されていまるリセットします。
共通の方法としては、単純に:
1)をランダムガイド/暗号法論的には強い乱数
2)送信なURLを含有の乱数のユーザーのメール 住所
3)確認し、ユーザにパスワードの変更
しかしなことに公開す MITM
攻撃?ご送信の場合、仮パスワードのインターネットや電子メールは安全でない,の違いについて教えてください---そば送独自のURLを攻撃者に移動することができますか?てだったので買ってきた重要な一歩かれるこのシステムをより安全であり、より良いパスワードの再設定)?
感謝
解決
あなたが正しくあなたのハッシュを構築する場合は、URLをクリックしてリセットを要求されたIPアドレスから来る必要があります。これは、IPおよび/または改ざんヘッダを偽装するMITMが必要となります。これは可能ではあるが、より多くのユニークなあなたは問題のシステムにハッシュを識別することができ、より多くの困難は、それが「エンドアラウンド」のハッシュになります。
また、GUIDは特定の条件の一方向ハッシュすることをお勧めします。 URLがクリックされたときに、システムのデータを暗号化し、この同じ国民はハッシュを添付しなければならないように、秘密鍵のロック解除することも、公開鍵を使用して要求における暗号化システムのデータに可能であり、これらの値を暗号解除できる唯一のシステムでは次のようになります秘密鍵は、サーバで開催されました。ハッシュへの基本的擬似PKIアタッチメントます。
他のヒント
ユーザーを認証するあなたの手段は、共有シークレット(パスワード)です。
秘密、あなたは新しい共有秘密を確立する方法を必要とすることをユーザー忘れた場合。あなたはそれについて移動どのように関係なく、あなたはまだ新しい秘密のことを共有するためにユーザを認証の問題があるでしょう。
それらを認証するために使用することができ、ユーザについてのあなたが知っている唯一のことは、自分のメールアドレスである場合は、あなたがリセットを要求しているユーザは、そのメールアドレスを制御していることを確認するために、いくつかの方法が必要になります。
そして、これまでにそれを行うための唯一の方法は、彼らはそれを受け取った場合、そのメールアドレスとチェックに秘密を電子メールで送信することです。
常に十分に卑劣なのMITM攻撃にオープンになるだろう。
あなたは一時的なパスワードを送信しない理由は、問題を避けるためにある「ユーザーが変更悩まさので、安全でない一時的なパスワードの代わりに、自分自身の安全なものを使用して保持することはできませんが。」
リスクを緩和するために、男の中の攻撃を利用したいのは以下のような措置が定め
- リセット要求で使用するが一度だけ行われます。
- 場合にリセット要求を使用しないで終了後の一時間です。
- すべてのリセット要求は恒久的にログインしたのか、最終的に完成、または終了しました。