シナリオ:
- Web アプリケーション (RoR 3.2) は、リモート Web サービス (SOAP、Savon gem を使用) と通信する必要があります。
- Web サービスには、ユーザー名とパスワードが必要です。
- 通信は SOAP で、トラフィックは VPN 経由です (SOAP には SSL はありません)。
- リモート Web サービス管理者から提供されたパスワードを保存する必要があります。
- Web サービス管理者は、パスワードを安全な方法で保存するように要求しています。
- Web サーバーが Web サービスを呼び出すとき、元のパスワードを平文で使用する必要があります。
- Bcrypt はパスワードを保存する最良の方法ですが、「一方向」です。
- 暗号化されたパスワードを送信できません。Web サービスに送信できるようにするには、暗号化を解除する方法が必要です。
これは「鶏が先か卵が先か」の問題のようです。
パスワードを安全に保存し、自動化されたサービスで使用するためにパスワードを解読できる方法はありますか?
ヒントはありますか?