2

私が取り組んでいるアプリケーションの場合、データベースが侵害された場合にセキュリティを提供する方法でユーザーが入力したパスワードを保存したいが、外部デーモンがパスワードのプレーンテキストバージョンにアクセスできるようにします。(IMAPまたはPOPログインに使用されます)。

ユーザーの元のパスワードなしで回復できるようにデータベースにパスワードを保存するための最良の方法は何ですか。(ユーザーのパスワードで暗号化されていません)

フロントエンドが公開鍵を使用してデータベースに保存するためのパスワードを暗号化し、次にアクセスするデーモンが秘密鍵を使用してパスワードを復号化する公開鍵暗号化を考えていました。

編集:OAuthのようなものをサポートしていない可能性のある他のWebサービスにログオンするために使用できるように、プレーンテキストのパスワードが必要です

4

1 に答える 1

1

できれば非対称暗号化を使用して、それらを暗号化する必要があります。理想的には、アプリケーション(Webアプリ)がそれらを暗号化し(w公開鍵)、デーモンがそれらを復号化し(w秘密鍵)、アプリケーションとデーモンおよびデータベースが異なるネットワークゾーンの異なるマシン上に存在します。

理想的には、秘密鍵はデーモンサーバーに接続されたハードウェアセキュリティモジュールに存在します。YubiHSMは約$500です。

これは、他の当事者に送信する必要のあるパスワードにのみ適用されることに注意してください。パスワードがシステムでユーザーを認証するためのものである場合は、ユーザーをハッシュ(およびソルト、ペッパー)する必要があります。

于 2012-06-30T20:58:44.407 に答える