2017-08-12 21 views
0

私は、自動化/ユーザーシステムを開発したいと思います。元のユーザーのパスワードを回復できるようにしたいのですが、セキュリティの観点からパスワードとハッシュを暗号化するのは何ですか?暗号化とハッシュ化のパスワード

もちろん、アプリケーションは公開鍵だけを使用し、暗号化された文字列を公開鍵と比較するだけで自動化が実行されます。

秘密鍵は双方向で使用することができます:

  1. 私は特別な手動パスワード回復動作のための私のオフラインデバイス上の秘密鍵を保持します。
  2. 秘密鍵はアプリケーション内にありますが、パスワードで暗号化されています。

秘密鍵に誰もアクセスできないと考えると、パスワードをハッシュするのではなく、これらの実装の選択肢のセキュリティの弱点は何ですか?

ハッカーがアプリケーションサーバーをハックしてプライベートキーを復号化するためにパスワードを挿入するのを待つ可能性がありますが、この場合、ハッカーは秘密鍵もちろん、私は主に理解するであろう何、暗号化を使用してハッシュを使用して同様に安全である場合である(仮定:復号化(待つだけのユーザーとしてときにログインし、他の人にパスワードを送信する...)

おかげ

EDITクラッカーは秘密鍵を取得できません)。

+1

*「必要な場合は元のユーザーのパスワードを回復できるようにしたい」*いいえ、必要ありません。 – Ryan

+0

ハッシングは一方向アルゴリズムであることに注意してください。ハッシュからパスワードをハッシュすることはできません。パスワードは後でハッシュから回復してください。 –

+0

@ライアン開発しようとしているアプリケーションの種類は分かりますか?私がそれらを回復する必要があると思うことを仮定してください。 – Eghes

答えて

0

パスワードを復元する場合は、ハッシングはオプションではありません。ハッシュはまっすぐな一方向アルゴリズムです。したがって、パスワードの暗号化に関する2つのオプションがあります。

1特別な手動パスワード回復操作のために、オフラインデバイスに秘密鍵を保存します。

オフラインデバイスが侵害されないことが確実であれば、これを実行できます。

2秘密鍵はアプリケーション内にありますが、パスワードで暗号化されています。

誰かがあなたのコードにアクセスした場合、あなたがパスワードを暗号化していると推測することができます。攻撃者がプライベートキーにアクセスできるようになる可能性があります。

この2つのオプションを指定すると、デバイスの物理的なセキュリティについて心配する必要があるため、最初はより安全です。

+0

ありがとうございます。私が主に理解していることは、暗号化を使用することがハッシュを使用するのと同じくらい安全であるかどうかです(もちろんクラッカーが秘密鍵を取得できないと仮定します)。 – Eghes

1

あなたの質問は、適切ハッシュアルゴリズムは、欠陥を持っているかどうかである、と適切暗号化方式は、[はい正しければ - それらの両方が使用目的のために正しいです。

これは、たとえばハッシュの場合、衝突がなく、可逆性がないことを意味します。暗号化の場合、妥当な時間内に解読できないことを意味します。これらはほんの2つの要件であり、それぞれにはさらに多くの要件があることに注意してください。

ここで、の使用目的が重要です。パスワードを再利用する必要がある場合は、パスワードを何らかの形で保存する必要があります。暗号化を含むいくつかの可能性があります。あなたが指摘したように、リスクはキーを取得することです(誰かがあなたのOSをハックするか、キーを使用するときにアプリケーションをハックする可能性があります...)。あなたのパスワードやキーを格納するためのアーキテクチャに飛び込む前に -

私は暖かく(他の誰かへの認証をオフロードする認証仲介など)の他の可能性を探すことをお勧めします。

関連する問題