web-dev-qa-db-ja.com

違反した場合に、より強力なパスワードは安全ですか?

パスワードは通常、ウェブサイトで保持されるのではなく、パスワードのハッシュを保持します。違反があった場合、これらのハッシュは盗まれ、事前に生成されたパスワードハッシュのRainbowテーブルと照合されます。あなたのパスワードがxy%5-xthrs32£のように本当に安全なパスワードである場合、あなたがまだ安全であると言うのは公平ですPrincess123や私のお気に入りのLetMeInなどのパスワードを持っている人よりはるかに安全です。

答えは、違反が発生した場合は常にパスワードを変更する必要があるということです。私はセキュリティの側面を理解しようとしているだけです。それで、真にランダムなパスワード(たとえば、優れたパスワードマネージャによって生成されたもの)を使って誰かと話すとき、あなたがおそらく安全であると言うのは公正でしょうか?

5
Adrian

強力なパスワードは、ほとんどの場合、弱いパスワードよりも優れています。違反が発生した場合、パスワードのハッシュとソルトの詳細が非常に重要になります。

サーバーがプレーンテキストを使用している場合、強力なパスワードと脆弱なパスワードはすべて等しく完全に使用されます。

たとえば、サーバーが悪名高いMicrosoft LanManagerハッシュ文字列パスワードを使用してもあまり役に立たない場合、カバレッジの高いレインボーテーブルを使用すると、長さ(14が最大)の英数字のパスワードが即座に解読されます。一部の本当に奇妙な特殊文字は、一部では役立ちますがあまり役立ちません。

サイトが適切なセキュリティ(ソルトbcryptハッシュなど)を使用している場合、そのようなハッシュを使用しても、適度に強力なパスワードを反転させる現実的な方法は現在ありません。ソルティングはRainbowテーブルをあまり役に立ちません。bcryptは、合法的に計算するのではなく、ブルートフォースに時間がかかるように設計されています。

ただし、site.breachedは明らかに侵害されており、他のサイトはおそらく異なるパスワードを使用しています。ランダムなパスワードを使用している場合は、おそらくパスワードマネージャを使用しており、各サイトに独自のパスワードを与えることができます。つまり、変更されたパスワードが1つだけ変更されている場合は、それを実行してください。

7
Meir Maor

侵害が発生した場合…真にランダムなパスワード(たとえば、優れたパスワードマネージャによって生成されたもの)を使用して誰かと話すとき、あなたがおそらく安全であると言うのは公正ですか?

理論的には、はい(仮定のトラック負荷の下で)。

想定しています…

  • あなたは私的個人です(会社、組織、または機関を表すものではありません)
  • 安全な接続(HTTPS)を介して毎回パスワードを送信しただけで、
  • 侵害されたサイトは実際には、よく吟味された、壊れていない、暗号的に安全な低速ハッシュアルゴリズム(Argon、bcryptなど)を使用してパスワードをハッシュしました。
  • サイトはパスワードハッシュのみを保存しました(プレーンテキストのパスワードは保存していません)。
  • サーバーコードには、あなたのパスワードを漏らしたかもしれないセキュリティグリッチは含まれていませんでした、
  • 他のセキュリティ侵害は発生せず、他の攻撃ベクトルが悪用されることはありませんでした。
  • 等.

…そして、最後に重要なことですが、…

  • 攻撃者はではなく無制限のメモリと処理能力を持つ者であり、
  • 「違反」は、パスワードハッシュが格納されているデータベースのコピーを取得することのみを攻撃者に制限します(不正な従業員などではありません)。

…それからあなたの質問は実際には次のように要約されます:「ランダムなパスワードはレインボーテーブルなどを使用して攻撃するのがより難しいですか?」

その場合、これらすべての仮定の下で、答えは「理論的にはそうです。」です。

辞書に似たパスワードと比較して、攻撃者が辞書のパスワードを事前に計算した可能性は、攻撃者が文字化けした文字のシーケンスを事前に計算した可能性よりも高いため、パスワードはより安全になります。 Webサイトの開発者が自分の仕事を正しく行った場合、彼らはsaltなども使用しました。これにより、攻撃者は事態をさらに困難にし、攻撃者によるすべての事前計算を無効にします。

しかし、攻撃者が州または国家である場合、それらの可能性はゼロに近いレベルに減少します。また、上記は仮定のトラックロードに依存しています。パスワードをハッシュするときにソルトを使用しないなどの小さなことは、攻撃者が望むよりもセキュリティを危険にさらす可能性があります。ウェブサイトのバックエンドがパスワードに低速のハッシュ関数(アルゴン、Bcryptなど)を使用していない場合にも、同様の問題が発生します。ランダムなパスワードから予想される安全性に影響を与える可能性があるすべての影響があります。

実際には、違います。

サイトが侵害された場合、侵害自体はほとんどの場合、はるかに大きなセキュリティ問題の氷山の一角に過ぎないことが判明し、そのような攻撃は、パスワードハッシュでいっぱいの盗まれたデータベースに限定されることはめったにありません。

パスワードが盗まれたか、何らかの方法で侵害されたと思われる理由がある場合は、パスワードを変更し、同じまたは類似のパスワードを使用しているすべてのアカウントでパスワードを変更してください。侵害されたWebサイトに他の攻撃ベクトルが広がっていなかったという事実に単純に依存することは、実際には賢明な行動ではありません。

ほら…違反があった時、爆弾のフューズは点火されました。たまたまFuseが長かったり、優れていたりしたからといって、他の人よりも安全であるとは限りません。それは物事が爆破するまであなたにもう少し時間を買うだけです。 Webサイトの開発者が正しく作業した場合、その爆発は数十年かかる可能性があります。しかし、誰かがWebサイトに違反した場合、開発者が何か(すべてではないにしても)間違ったことをした可能性があります。

したがって、できるだけ早くパスワードを変更することは、Webサイトの違反が発生した場合に行うのが最も安全で最も難しいことです。特に、ウェブサイトのプログラマーがどこに落とし、それによって、パスワードや他の資格情報のセキュリティに影響を与えるかどうかに関係なく、他のセキュリティの問題を引き起こした可能性がある場所を決して知らないためです。

通常、適切な パスワードポリシー は、違反が発生した場合にパスワードを更新するようにプッシュします( およびその他の状況 )。さらに、個人の鍵管理の一部として、とにかく定期的にパスワードをローテーション(読み取り:更新、更新)する必要があります。そうすることで、そうすることができます 「一部のパスワード侵害の影響を軽減するために有益」 (すべてではない)。あなたがパスワード管理アプリについて言及したので、おそらくそれはすでにそれに応じた機能を含んでいる可能性があります。そうでない場合でも、攻撃者がパスワードを回復できたかどうかを常に疑うよりも、パスワードの変更が容易になります。

しかし、結局のところ、であるかどうかは個人的な意見の問題ですfair to sayそのyou are probably safe「よりランダムなパスワード」を使用した場合(これは、よりランダムなパスワードです)。これは、個々のシナリオと、書き込み時の正確な意味probably safe

TL; DR

したがって、これをすべて最終的な結論にまとめます:「攻撃者が試行するときに他のユーザーが使用するランダムなパスワードよりもランダムなパスワードを使用する方が安全です。取得したパスワードハッシュを元に戻す/解読することはできますが、長期的に安全なパスワードに依存することは絶対に避けてください。それでも、関連するWebサイトが侵害された場合は、申し訳ありませんが安全であることが望ましいため、パスワードを変更してください!」ほとんどの場合、Webサイトは、パスワードを変更した後に、そうするように求めますveが違反を検出し、関連するギャップを閉じました。

質問に関連して、ftc.govの記事 必須のパスワード変更を再考する時間 ;特に「いつパスワードを変更する必要がありますか?」の部分。

5
e-sushi