2016-10-27 32 views
1

私はちょっとしたピックルです。ユーザーのメールサーバーにログインする必要のあるサーバーアプリケーションがあります。ユーザパスワードを暗号化する2ウェイ暗号化のハンドル/ストア暗号化キー

ユーザは私にメールサーバのユーザ名/パスワードを与え、サーバアプリケーションはメールサーバにログインして特定の間隔で処理します。

これは私がプレーンなパスワードを必要とすることを意味するので、安全にパスワードを保存するためにセキュリティ測定を使用することはできません。

研究から私は2ウェイの暗号化(サーバーは暗号化することができますが、解読することもできます)を使用する必要があると思われます。暗号化は暗号化キーを使用して行われます。

この暗号化キーを処理/保存する最良の方法は何ですか?

暗号化キーを別のサーバーに保存することが1つあります。アプリケーションサーバーとデータベースがハッキングされても、暗号化キーはまだありません。アプリケーションサーバーが他のサーバーにアクセスできる場合、ハッカーは自分のアプリケーションを自分のアプリケーションサーバー上でシミュレート(逆コンパイル、コンパイル)し、暗号化キーをこのように取得できます。

これは難しい問題です。

答えて

1

これは良い解決策の始まりです。

第2サーバ(暗号化サーバ)で暗号化と復号化を行います。暗号化のためにパスワードを暗号化サーバーに渡し、暗号化されたパスワードを返してDBに格納します。パスワードが必要な場合は、復号化のために暗号化されたパスワードを暗号化サーバーに渡します。

異常な数の要求が受信されたときにアラームを鳴らし、極端な場合に処理要求を停止すると、暗号化サーバーは要求アクティビティを監視します。

第2のサーバーを非常に安全にします。インターネットアクセスなし、最小限のアクセスアカウント、2要素認証。

暗号化サーバーは、貧しい人のHSM(ハードウェア暗号化モジュール)になります。

+0

哀れなやつは、貧しい人のHSMのアイデアのために上がる! –