2011-12-21 10 views
2

私はユーザーの資格情報を取得したJavaで1つのデスクトップアプリケーションを開発しました。私はこのアプリケーションを開発して、どのプレートフォームでも実行できるようにしました。今私は、この資格情報をどこに保管するのかが混乱しているということです。ファイルは適切な場所ですか?または私は使用されるプレートフォームに従ってそれを保管すべきですか? Windowsのように私はこの情報を格納するレジストリを使用することができます。しかし、Linuxや他のplateformsはどうですか?私を助けることができる標準的な解決策やファイルの使用はそれを行う唯一の方法ですか?私は当初はプロパティファイルに格納することを考えましたが、知識のある人はそのジャーの内容を閲覧することができ、そのプロパティファイルを持つことができるので、適切な解決策ではないと思います。この資格情報を保存するためのより良い方法を教えてください。クレデンシャルは暗号化されています。機密情報を保存する場所は?

答えて

3

資格情報が暗号化されている場合は、ファイル、好ましくはユーザーのホームディレクトリに保存するだけです。ファイル自体を暗号化して、他の人が直接そのファイルを読むことを防ぐこともできます。ファイルへのアクセス権を持ってホームディレクトリへのアクセス権を持つ

  1. ユーザーのみです(ユーザー自身および任意の管理者):これを使用して

    あなたは、セキュリティの3つのレベルがあります。ユーザーごとに1つずつ、複数のファイルを作成することもできます。

  2. ファイルは暗号化されているため、暗号解読キーにアクセスできるユーザーと暗号化方法を知っているユーザーのみが解読できます。
  3. 資格情報は、通常は非同期アルゴリズムを使用して暗号化されます。したがって、プレーンテキストは、任意の妥当な努力で再構成することはできません。
+1

ありがとうございます。私はホームディレクトリにファイルを格納すると思います。 – ankurtr

1

アプリケーションが複数のプラットフォームをターゲットにしているため、他のプラットフォームで同じ機能を実装する方法を提供しても、プラットフォーム固有のオプションを実装する必要はありません。いずれにしても、Windowsのレジストリを常に参照することができます。

現在資格情報が安全と認められているアルゴリズムを使用して資格情報が暗号化されている場合は、心配する必要はありません。 より適切な場所で資格情報を隠すと、暗号化が残りの部分を処理する必要があります。そのため、存在します。

資格情報の暗号化に使用する鍵を保護することも忘れないでください。

+0

暗号化されたデータにユーザーがアクセスできるようにするのがよい方法ですか? – ankurtr

+0

自分のコンピュータでユーザーがアクセスできないものは何ですか?とにかく、資格情報はユーザーのものです。個人的なコンピュータにアクセスできる第三者が資格情報にアクセスできないようにする方法を提供しようとしているのでしょうか? –

+0

はい。正確に。第三者が資格情報にアクセスできないようにする必要があります。 – ankurtr

4

この場合、パスワードの暗号化が最適です。したがって、ファイルに保存することができます。ファイル、データベース、または他の場所にパスワードをプレーンテキストとして保存しないでください。私はこれがこのトピックに関する非常に広範で役に立つ記事だと思う:http://www.codeproject.com/KB/recipes/StoringPasswords.aspx

+0

すてきな記事...私の質問についてもっと多くの知識を持っています... – ankurtr

関連する問題