2011-08-18 7 views
9

私はちょうどハッシュの概念を学びました(「ねえ!塩を忘れないで!」)、塩を使ってパスワードを確保しました。それをハッシュデータベースにアクセス可能であれば、塩とハッシュのポイントは何ですか?

は、一方向の暗号化(実際には暗号化が、ハッシングではない)であるので、リバースエンジニアリングすることはできません。 Saltingは、ハッシュ(単にハッシュ)の問題をハッシュする前にパスワードに無作為に作成された値を接頭辞または付加するものです。ある天才は辞書からのハッシュテーブルを提供しています。データベースからユーザーのテーブルにログインする - W-wait?データベースからテーブルを言いましたか?だから、誰かがデータベースにアクセスして塩を使わなければならないということですか?もしそうなら、なぜ彼はすでにデータベースにアクセスしている場合、ハッカーはパスワードを回復しますか?もし私が彼だったら、私はデータベースから必要な情報をすべて取得するだけです。私は窓からすでに家にアクセスできれば、家から盗んだ鍵を使ってドアを開けるのはなぜですか?

それでは、なぜハッシュ?なぜ塩?わかりません。どうか、誰か助けてください。

ありがとうございます。

重要な注意:私は、ハッシュまたは塩漬け反対ではないよ、私は物事を明確にしたいです。彼はすでにデータベースへのアクセス権を持っている場合

+0

正確ではありませんが、ご覧になることもできます:http://stackoverflow.com/questions/6552554/salting-hashes-why-is-the-salt-treated-by-the-literature -as-being-known-to-eve/6608045#6608045 –

答えて

11

は、それはそう、なぜハッカーがパスワードを回復するでしょうか?

多くの理由があります。ここではいくつかある:

  1. 人々がこのような攻撃の影響を制限するんみんなの本当のパスワードが漏れていない、自分のパスワードを再利用します。

  2. 本当のパスワードがなければ、ハッカーはまだハッキングされ、システム上のポスト新しいエントリ、たとえば、ログインして、することができません。

  3. とは誰ですか?の情報はデータベースに保存されていますか?データベースがユーザー名とハッシュ/塩漬けのパスワードのみで構成されている場合はどうなりますか?それから、内容を知ることはあまり役に立たない。

3

同じパスワードが難しいパスワードを考え出すの試みを行うこと、異なるハッシュを持っているように、塩が使用されています。それは作るように強引な方法を介してパスワードを生成するには(特にSHA2と)非常に長い時間がかかること、それは「実現不可能」パスワードを見つけるためになるよう

ハッシングはそれを作ります。あなたは(明らかに)動作しませんパスワードフィールドにハッシュを入力するのとパスワードがわからない場合は

ハッシュは、あなたは良い行いません。

通常、ハッカーはユーザーのテーブルと基本的な情報しか見つけませんが、実際にそのユーザーの情報にアクセスして何かを変更したい場合は、実際のパスワードが必要です(DBスキーマ全体が何かを変更するあなたが合法的に人物としてログインしない限り、非常に疑わしく見えやすく、容易に追跡可能です)

最後に私が忘れた点は、人々がパスワードを再利用することです。だから多分あなたはそれに関する有益な情報を持っていないが、その人がオンラインバンキングで同じユーザー/パスワードの組み合わせを使用していくつかのランダムなサイトをハックしました。これは、あなたが簡単にパスワードを識別することができないことが分かっているので、非常に悪い可能性がありますキーです。

4

データベースからクリアテキストのパスワードと電子メールアドレスを使用していると、大混乱を招く可能性があります。すでにハッキングされているサイトに資格情報を取得することではなく、他のサイトにログイン情報を取得することです。

ほとんどの人は、1つのサイトに対して1つのパスワードしか使用しないので、プライマリ電子メールアドレスのパスワードを持っている場合は、おそらくすべてのサイトのすべてのアカウントにアクセスできます(パスワードリセットによる)。

4

データベースのユーザーレコードを所有していても、必ずしもデータベースにアクセスできるわけではありません。ウェブサイト(hello、SQLインジェクション)のリークによって、アクセスしてはいけないデータにアクセスできるようになり、サーバ全体を妥協する必要はありません。間違って処理されたバックアップ、共有サーバー、無能または悪意のある従業員はすべてそれを可能にする可能性があります。

さらに重要なことに、お客様のパスワードを他のサイトので保護する必要があります。人々は残念ながらその場所のすべてのパスワードを再利用します。あなたの小さなチャットルームのデータベースが侵害された場合、銀行のサイトの人々のパスワードはそれによって損なわれる可能性があります。

+0

+1 SQLインジェクションの場合、真実です。ハッカーはデータベース全体ではなく1つのテーブルにしかアクセスできません...ありがとう。 – dpp

+0

@domanokzそれはSQLインジェクションだけではありません。いくつかのデバッグステートメントはあなたがどこかを忘れてしまったため、ロジックエラーが発生したよりも多くのデータをダンプするでしょう...何千もの可能性があります。 – deceze

1

攻撃者が回復不能なハッシュパスワードを含むデータベースのバックアップに何らかの形でアクセスしたとします。それから、彼らは昨日そこにあったすべてのデータを持っています。これはかなり悪いことです。しかし、少なくとも彼らは明日そこにあるデータにアクセスすることはできず、実際のサイトから何かを削除したり、それを破壊したり、CMSを介してマルウェアに仕えたりすることはできません。

攻撃者がすべてのプレーンテキストのパスワードは、特にそれに管理者が含まれている場合。おっとっと。

関連する問題