2009-04-14 19 views
3

それは塩に一般的な方法だったとオフラインのブルートフォースパスワード攻撃に対して、どのように防御すべきですか?

E(パディング||ハッシュ(塩||パスワード))

のようなパスワードをハッシュ場合、私は思っていた||連結であり、Eは例えばRSAを使用する。私は主に、この質問に対してパスワードデータベースの転送を要求しています(オンラインストレージではなく、サーバーが暗号化されたパスワードを常に解読する秘密鍵を持っています)。

暗号ハッシュは元に戻すことはできませんが、オフライン弱いパスワードでのブルートフォース攻撃は簡単にパスワードを明らかにします。このデータベースのレコードを最終的に復号化するには、サーバーはパディングの長さを知り、単純にパディングを取り除いてhash(salt || password)を表示します。

これは典型的な問題ではありませんが、パスワードデータベースを適切に転送してオフアライブ攻撃から防御しなければならない人物に関するリファレンスを見つけることができませんでした。

+0

は、なぜあなたはパスワードデータベースの輸送が必要なのですか? –

答えて

-2

データベースを復号化しようとする機能を制御する場合、再試行の間に1秒のタイマーを入れますか?

その減速ビットブルートフォース辞書には表示されません

+0

いいえ、クラッカーがその遅れを持たないようにプログラムをコード化するためです。 – Brian

+0

あなたの答えの中の#2はちょうど私が言ったことです:-D – Fredou

+0

おそらく無差別な力のプログラムは、何かhundereds秒を試すことができることに依存しています。 – Sam152

2
  1. パスワードを使用する確かだろう。
  2. Key Strengtheningを使用してください。

パスワードデータベース自体を暗号化するだけです。解読鍵を転送する方法がない場合は、公開鍵暗号化を使用して解読鍵を暗号化することができます。

+0

#1-#2は、パスワードデータベース自体を制御していると想定しています。したがって私の代わりの提案。 – Brian

1

パスワードを保存している間やパスワードを保存しているときと同じ方法でパスワードを消去するのがポイントです。良い塩を持つことは、誰かが標準的な検索をしないようにし、辞書攻撃に対するハッシュを強化するでしょう。ソルトとパスワードがハッシュ内で組み合わされていると、オフライン攻撃の使用が大幅に減少し、特別な予防策を講じる必要はありません。

4

パスワードファイルを強力に暗号化すると、パスワードがファイル内にどのように格納されるかは関係ありません。

e。移送にPGPのようなものを使用してください。

私の答えを下落させた人が実際に質問を読んでいなかったのではないかと考えているので、他の人がそれを上回る前に、この回答が一度下降していることに気付きました。一方、おそらくファイル全体の完全な暗号化は、質問をしている人にとっては不可能です。これが問題である場合、これは簡単な説明である。

とにかく、これは具体的にはのデータ(ベース)を転送していることを示しています。また、これは具体的には、オンラインストレージと使用ではないことが記載されています。

このように、個々のパスワードをマスクするためにファイルの内容を操作することに限定されないので、ファイル全体に対して安全で安全な暗号化方法を使用することが実際には最良の方法です。

代わりに、ファイル全体が無意味であり、単なるパスワードファイル以外のファイルが転送される場合は、より多くのデータと一緒にまとめられて暗号化されるため、パスワードもほとんど不可能です。

暗号化されたファイルへの攻撃は、信頼できる暗号化アルゴリズムと実装(PGP、GPGなど)を選んだら、自分で発明するよりも、あるいは少なくとも簡単に攻撃者は個々のパスワードを小さな塊で見つけることができます。

+0

なぜこれが下落したのですか? –

+0

パスワードファイルを読み込めるようにするには、復号鍵が必要なホストではまったく役に立たない。 –

+0

それだけであなたが盗む必要があることを意味します* more * :) –

-1

他のすべての応答は良いですが、私は追加したい:

強制的にパスワードの変更を定期的に。

これは、オフラインブルートフォース攻撃を中断させる確実な方法です。移動するターゲットを叩くのは難しいです。

+0

私の経験から、パスワードの変更を強制されたユーザーは、同じ基本パスワードを使用して1文字/数字を追加するだけであることが示されています。ユーザーが暗黙のパスワードを使用するように強制すると、パスワードを書き留めるだけです...全体的に、パスワードは暗くなります:) – nimrodm

+0

パスワードをわずかに変更しても、それでも役立ちます。塩漬けは、虹の攻撃から1桁の数字で保護します。はい、パスワードは大丈夫ですが、いくつかのハードウェア方法を使いたい場合を除き、多くの選択肢はありません。 – Moose

+0

複数の平易な言語の単語のパスフレーズは、比較的短い(10文字)ランダムノイズの文字列よりも覚えやすく**かつ**より安全です。 http:// xkcd。com/936/IMHOのパスワード強度チェッカーは、パスワードの特定の文字について** **の要件をすべて満たしていないことを確認し、30文字以上の長さにする必要があります。しかし、はい、あなたはまだセキュリティのために定期的にそれらを変えています。ブルートはいつでもハッシュを強制することは時間の問題であり、コンピュータはますます高速化しています。 – Ben

1

bruteforce攻撃から保護する唯一の方法は、低速ハッシングアルゴリズムを使用することです。今すぐbcryptまたはPBKDF2は、多くのCPU時間とばかげた量のRAMを必要とするように設定できるので、行く方法です。 CPUの高速化とメモリの安価化に伴い、設定を増やしてハッシュを遅くするだけです。

1秒間に数百万回のハッシュや数回の曇りを予測できるのであれば、実際には違いがあります。

CodingHorrorは、このトピックについての素晴らしい記事があります。http://www.codinghorror.com/blog/2012/04/speed-hashing.html

関連する問題