- PR -

アカウント情報等のローカル保存

1
投稿者投稿内容
SUK2
ベテラン
会議室デビュー日: 2005/12/27
投稿数: 69
投稿日時: 2007-01-17 10:37
この会議室には初めて投稿させて頂きます。宜しくお願い致します。

掲題の件なのですが、メールサーバ等にログインする際の設定情報を(比較的)セキュアに
ローカル保存する方法を検討しているのですが、良い方法が見つけられないため質問させて
頂きました。

要件としましては、現在開発中のWebアプリケーション(Servlet)からメールサーバにPOPで
ログインする際、必要となるアカウント名及びパスワードを外部ファイルとして配置し、
容易にアカウント情報を変更出来るようにしたいという物です。

さすがに平文のままパスワードを記述したファイルを配置する訳にはいかないため暗号化
をしたいのですが、こういったケースの場合、どの様なアルゴリズムを使用するのが
ベターなのでしょうか?

ハッシュで暗号化してしまいますとアプリ側でも復号化出来ないですし、共通鍵にしろ
公開鍵にしろ、結局は秘密鍵をどこかに持っている必要があると思います。

よく、メーラー等では「パスワードを保存する」といったオプションがありますが
同等の事を実装したい訳です。

Javaですとリバースエンジニアリングが容易な為、ハードコーディングによる隠蔽は
非常に危険かと認識しているのですが、どなたか良い方法をご存知でしたらご教授願いたく
宜しくお願い致します。
BackDoor
ぬし
会議室デビュー日: 2006/02/20
投稿数: 831
投稿日時: 2007-01-17 10:47
こんにちは。

単純なバックアップですよね? なんか重く考えすぎているような気がします。
私には、当該ファイルにパスワード付ける位の運用で十分かと思えますけど。

修正:日本語表現訂正

[ メッセージ編集済み 編集者: BackDoor 編集日時 2007-01-17 10:49 ]
だっちょ
大ベテラン
会議室デビュー日: 2006/12/05
投稿数: 115
投稿日時: 2007-01-17 13:00
 単純に暗号化したいだけなら,DESedeやAESの鍵をkeystoreファイルに格納して、それで暗号化すればよいと思いますが、鍵にアクセスするときにはパスワードが必要になります。
 管理者がパスワード入力して変更したときにプログラムに通知するか、起動時にパスワードを入力させておくのなら、これでよいと思いますが、プログラムが勝手に外部ファイルを認識し、パスワードなしで復号したい場合はこれではできないだろうと思います。
 InternetExplorerの鍵をCryptoAPIで使えばパスワード入力なしでも使えますが、ログオンしたときのパスワードを使っているようなものだと思っています。

Tasuku
大ベテラン
会議室デビュー日: 2006/09/14
投稿数: 106
お住まい・勤務地: tokyo
投稿日時: 2007-01-17 13:08
Webアプリケーションを実行するユーザ権限が決まっているのであれば、
パスワードを記載したファイルに対して、OSレベルで、
そのユーザと管理者にだけ参照権限を持たせるという方法はあります。
Webアプリ共用のユーザ権限で稼動するような場合は、完全ではありません。
SUK2
ベテラン
会議室デビュー日: 2005/12/27
投稿数: 69
投稿日時: 2007-01-17 14:04
皆様、ご回答ありがとうございます。

>BackDoor様
引用:
単純なバックアップですよね? なんか重く考えすぎているような気がします。

バックアップという訳では無く、Webアプリがメールサーバと通信するために必要な情報を外部ファイルにし、変更の容易化をしたいのです。
確かにバックアップが目的であれば、提示して頂いた方法で十分ですね。

>だっちょ様
引用:
管理者がパスワード入力して変更したときにプログラムに通知するか、起動時にパスワードを入力させておくのなら、これでよいと思いますが、プログラムが勝手に外部ファイルを認識し、パスワードなしで復号したい場合はこれではできないだろうと思います。

なるほど。ファイルを変更するのは人間ですので、そのタイミングでパスワードもアプリに通知してやれば良いのですね。この方法も検討させて頂きます。

>Tasuku様
引用:
パスワードを記載したファイルに対して、OSレベルで、
そのユーザと管理者にだけ参照権限を持たせるという方法はあります。

私も最初にこの案を思いついたのですが、他にもっとスタンダードの方法があるのかと思い質問させて頂いた次第です。セキュリティ的には問題無いかと思っておりますので、だっちょ様の案と併せて実装可能か検討させて頂きます。

皆様、重ねてご回答有難うございました。
1

スキルアップ/キャリアアップ(JOB@IT)