1

Java クライアント アプリケーションにパスワードを保存するための安全なプロセスを探しています。Preferences APIを使用してクライアント側のデータを保存します。

次回のログインを高速化するために、クライアントがログイン情報 (ログインとパスワード) を保存できるようにしたいと考えています。パスワードはわかりにくかったので、暗号化します。クライアント/サーバー通信は SSL 経由で確立されるため、キーをサーバー側に保存できます。

私の最初の提案は、ログインが成功すると、サーバーがクライアントにキーを送信してパスワードを暗号化し、それを保存することです。その後、次のセッションを開くときに、クライアントは最後のセッション ID をサーバーに送り返します。サーバーは復号化キーで応答します。

これは、秘密鍵または公開鍵を使用することも、1 つの鍵のみを使用することもできます。

セッションIDがクリアに保存されるため、誰でもパスワードを解読できるため、安全ではないと思います...

任意の命題、これには古典的なプロセスが必要です..?

前もって感謝します !

4

1 に答える 1

3

仕方ないですよね、本当に。ユーザーが認証のためにシステムと対話する必要がないように、コンピューターにシークレットを記憶させる必要があります。シークレットを暗号化し、復号化を自動化できますが、それでもマシン上の情報ですべて実行可能です. ローカル ストレージにアクセスできる攻撃者は、実装したスキームを再生してパスワードを取得できます。

ある種の妥協はキーチェーン システムです。このシステムでは、保存されているユーザーのパスワードはすべて、ユーザーがログイン時に生成するマスター パスワードによって暗号化されるため、覚えておく必要があるのは 1 つだけです。ただし、これは単一のアプリケーションの範囲外です。

于 2012-07-31T15:47:29.823 に答える