web-dev-qa-db-ja.com

SHA1でハッシュされたパスワードを解読することは可能ですか

SHA1ハッシュパスワードを解読するのがいかに簡単かを理解しようとしています。何百ものパスワードをハッシュ化したトレーニングデータベースがあります。

私はいくつかのオンラインツールを使用してそれらを解読しようとしましたが、比較的単純なパスワードしか解読できないことに気づきました。

私が知っているのは、ハスクを解くために、通常はレインボーテーブルを使用することです。その意味で、私にとっては、単純なパスワードしか解読できません。しかし、オンラインの一部の人々は、John the RipperやHashcatなどのツールは何でも解読できると言っているようです。

だから私は疑問に思っていましたが、SHA1パスワードを解読することは常に可能ですか(本当に複雑なものでも)?

よろしくお願いします

2
KB303

いいえ、SHA-1ハッシュだけをクラックすることはできません。現在、セキュリティの目的でのハッシュ関数の使用には、主に2つの問題があります(特にパスワードハッシュではありません)。

  1. これは非常に高速なハッシュです。つまり、ブルートフォース攻撃は、正しく slowを使用した場合よりもはるかに速く実行されます。 KDF 。 SHA-1が高速であるという事実では、パスワードを解読することはできませんが、1秒あたりにより多くの推測を試みることができるということです。

  2. Googleが示した のように、衝突攻撃に対して脆弱です。衝突攻撃では、誰かが同じハッシュで2つの入力を作成できます。ただし、ハッシュを元に戻したり、結果のハッシュに影響を与えずに入力を変更したりすることはできません。これは、プリイメージ攻撃と呼ばれる別の種類の攻撃であり、SHA-1はその攻撃に対して脆弱ではありません。

そのため、パスワードが短いか弱いものでない限り、SHA-1でハッシュされたパスワードだけをクラックすることはできません。ただし、これは非常に高速でGPUに効率的に実装されるため、パスワードハッシュに使用する必要があるという意味ではありません。

4
forest

SHA1は、プレーンテキストストレージまたはソルトなしのスキームを除いて、パスワードを保護するためのおそらく最悪のシナリオです。パスワードクラッキングツールは、パスワードのリストをテストするだけでなく、Sなどの個々の文字を$、二重文字、リスト内のすべてのパスワードの大文字と小文字のサンプルの組み合わせ、単語の組み合わせなどに置き換えます。

実際には、大部分のパスワードは、ほとんどの複雑なパスワードでさえ、解読される可能性があります。

何よりも、違いは、特定のハードウェアでクラックするのにかかる時間です。数か月または数秒かかります。 Argon2やScryptなどの優れたパスワードハッシュ方式では、クラッキングに最も時間がかかり、SHA1またはMD5が最も時間がかかります。

1
BeloumiX

だから私は疑問に思っていましたが、SHA1パスワードを解読することは常に可能ですか(本当に複雑なものでも)?

はい。時間と労力の問題です。おもしろい質問は、「現在のところ、SHA1パスワードを解読することは可能ですか」という質問です。

実際には、ハッシュをクラックすることができます。最悪のシナリオでは、かなり時間がかかります。

0
mroman