1

私が現在取り組んでいるサイトは、ユーザーのサインアップを処理するサードパーティの請求会社を使用しているため、すべてのユーザー名とパスワードが請求者のサイトに入力され、請求者はユーザー名とユーザーの暗号化されたパスワードをサーバー上の「メンバー」データベース。

問題は、請求者(および私が収集したものからのそれらの多く)が、私が何度も読んだMD5でパスワードを暗号化することは安全ではないということです。しかし、暗号化は請求者側で処理され、MD5しか提供されていないため、パスワードをより安全にするために自分でできることがあるかどうかを知りたいと思いました。

これを書いているとき、「請求者がパスワードを暗号化している場合、セキュリティを強化する方法はおそらくないだろう」と考えています。請求者の仕事の一部は、パスワードの紛失などのメンバーの問題を処理することだからです。問題。

それで...請求者がDBに保存するパスワードにセキュリティを追加する方法はありますか、それとも安全でない標準であると私たち全員が知っていることでチャンスをつかむだけですか?私たちはこの請求者に短期的に立ち往生しており、さらに悪いことに、私は非常によく知られている別の請求者に連絡しました。彼らはMD5も使用しています。

よろしくお願いします!

4

2 に答える 2

0

残念ながら、この段階では請求者についてできることはあまりありません。軽減しようとしている脅威を知ることは困難です。請求者と監視対象のマシンとの間の通信が心配な場合は、SSLまたはSSHが役立ちます。攻撃者がデータベースに侵入してパスワードを盗むことを心配している場合は、別のスキームを使用してパスワードを保存すると便利です。

MD5を使用して、塩を追加することができます。請求者がパスワードをソルトしていることを確認してください。そうでない場合は、本当にパスワードを削除する必要があります。それらはデータベースであり、レインボーテーブルルックアップに対して脆弱になります。

レインボーテーブルは、暗号化ハッシュ関数を逆にするための事前計算されたテーブルであり、通常はパスワードハッシュを解読するためのものです。

受け取ったMD5を使用して、より優れたパスワードハッシュアルゴリズムを使用することができます(元のMD5を保持する必要がないと仮定します)。一例はbcryptです。SHA1、SHA-256などがありますが、より優れたハッシュアルゴリズムは、パスワードハッシュにはそれほど優れていません。その理由は、SHAが高速になるように設計されているためです。パスワードのハッシュを比較的遅くしたい。正当なユーザーの場合、正しいパスワードの検証を20ミリ秒待つのは時間ではありませんが、攻撃者の場合、パスワードをブルートフォースする能力が大幅に低下します。

bcryptは、Blowfish暗号に基づいて、Niels ProvosとDavidMazièresによって設計され、1999年にUSENIXで発表されたパスワードの鍵導出関数です。[1] レインボーテーブル攻撃から保護するためにソルトを組み込むことに加えて、bcryptは適応機能です。時間の経過とともに、反復回数を増やして速度を落とすことができるため、計算能力を高めてもブルートフォース検索攻撃に耐えることができます。

基本的に、bcryptには優れたハッシュアルゴリズムがあり、ソルトが必要であり、ハッシュアルゴリズムが実行される回数を指定できます。たとえば、100ラウンドから始めることができます。計算能力が向上した2年間で、それを150に増やすことができます。

于 2013-01-16T00:13:48.553 に答える
0

Md5は技術的には、暗号化アルゴリズムではなく、持っているアルゴリズムです。違いは、ハッシュされた文字列のハッシュを解除できないことです(理論的には、これは誤りであることが証明されているため、md5は弱いです)。適切なキーがあれば、暗号化を元に戻すことができます。

あなたの最大の関心事は何ですか?パスワードがあなたと請求者の間を移動するときに誰かがパスワードを傍受することを心配していますか、それとも誰かがデータベースを開くことを心配していますか?

誰かがデータベースに侵入してパスワードを使用してテーブルを取得することを心配している場合は、セキュリティを確実に向上させることができます。独自の秘密鍵を使用した最新のアルゴリズムを使用して、エントリを永続化する前にエントリを暗号化できます。md5値を使用する前に、データベースからプルするときにサーバーにキーを保存したり、暗号化を解除したりしないでください。

また、最新の強力なハッシュアルゴリズムを使用して、提供されたmd5値をハッシュする(そしてソルトを使用する)こともできます。これは、誰かがあなたのテーブルを取得した場合、彼らはあなたのハッシュをハッシュ解除してから、md5をハッシュ解除する必要があることを意味します。おそらく、強力なハッシュを使用し、最初のステップは不可能です。いつものように、セキュリティには注意してください。間違いなく自分で何かを書く必要があります。バグが発生します。

于 2013-01-16T00:03:57.137 に答える