PHP で IMAP アカウント用の電子メール クライアントを開発しています。アカウントのパスワードを保存し、後でメールをチェックするためにパスワードを取得できる最も安全な方法はどれですか?
何らかの方法で暗号化する必要があると思います。ただし、自分のアプリだけが暗号化を解除できるようにするにはどうすればよいですか?
PHP で IMAP アカウント用の電子メール クライアントを開発しています。アカウントのパスワードを保存し、後でメールをチェックするためにパスワードを取得できる最も安全な方法はどれですか?
何らかの方法で暗号化する必要があると思います。ただし、自分のアプリだけが暗号化を解除できるようにするにはどうすればよいですか?
ユーザーの操作なしでログインする必要がある場合、安全なソリューションはありません。OS のストレージ オプションに依存する必要があります。これにより、悪意のある非特権アプリケーションがパスワードを読み取るのを防ぐことができます。
ユーザーが起動時に単一のパスワードを入力しても問題ない場合は、対称暗号化を使用して他のパスワードを暗号化し、scrypt や PBKDF2 などの KDF を使用して、パスワード (およびソルト) からマスター キーを取得できます。
パスワードを暗号化ファイルに保存します。アプリの起動時に復号化キーが必要です。