4

シナリオ:

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

これは「鶏が先か卵が先か」の問題のようです。

パスワードを安全に保存し、自動化されたサービスで使用するためにパスワードを解読できる方法はありますか?

ヒントはありますか?

4

2 に答える 2

1

暗号化された情報をプレーン テキストとして送信する必要がある場合は、強力な可逆暗号を使用してはどうですか。これはおそらく、Web サービス管理者が意図したことです。

(たとえば)AES暗号化を使用して暗号化する前に、他の情報をソルトとして追加できます(名前など、よく知られていてアルゴリズム的に適用できるものを使用)。
次に、暗号化されたパスワードを選択した場所に保存できます。

于 2012-12-08T12:21:55.150 に答える
0

このパスワードを環境変数 (プレーンテキスト、難読化、重要ではない) に保存して、これを VCS に入れないようにします。

また、設定ファイルにパスワードを(プレーンテキストではなく)環境変数として保存することは安全ですか? 助けられる。

于 2012-12-08T10:36:01.410 に答える