現在のWebブラウザー(またはモバイルメールクライアントと一般的なソフトウェア)はユーザーパスワードをどのように保存しますか?パスワードの保存に関するすべての回答は、パスワード自体ではなく、ハッシュのみを保存する必要があると述べています。しかし、後でパスワードをプレーンテキストで必要とすることがわかっているときに、弱い暗号化(既知のキー)を使用せずにそれらをプレーンテキストで保存することなく、パスワードを保存するための最良の手法を見つけるためにWebを検索するのに苦労しています。ユーザーにマスターパスワードを要求しません。何か案は?
ローカルでプレーンテキストとして保存されるか、暗号化されます。
暗号化された場合、en/decryptionキーはブラウザーごと(実行可能ファイルにハードコード化)、マシンごと(インストール時に生成され、インストールディレクトリに格納)、またはユーザーごと(パスワードマネージャーの最初の使用時に生成され、%appdata%
)
またはそれらを組み合わせることができます:ユーザーレベルのキーはマシンレベルのキーで暗号化されているため、マルウェアがパスワードが保存されているファイルを取得すると、ユーザーレベルのキーとマシンレベルのキーがなければ役に立たなくなります
一部のブラウザでは、既存のキーと組み合わせてセキュリティを強化する「マスター」パスワードを使用することもできます
(適切な)同期サービスを使用する場合、パスワードがサーバーにプレーンテキストで保存されたり、サーバー側で復号化されたりすることはありません。
マスターパスワードを使用しない限り、パスワードはプレーンテキストで保存されます。
パスワードのハッシュのみを保存する必要があると人々が言うとき、彼らはクライアント側ではなくサーバー側ストレージについて話している。
ユーザーが自分のパスワードで登録/ログオンできる独自のWebサイトを持っている場合、パスワード自体を保存する必要はありません(保存してはいけません)。
あなたは、プレーンパスワードを保存する必要はありません。ログオン時に使用されるパスワードが、登録時にユーザーが入力したパスワードと一致することを確認するだけでよいためです。 。パスワードが異なるとハッシュも異なるため、ハッシュを使用できます¹。
あなたはプレーンなパスワードを保存してはいけません。ウェブサイトがハッキングされた場合はどうなりますか?さらに、多くの人が何度も同じパスワードを再利用するため、事実上、ハッカーにユーザーのFacebookアカウント、メールアカウントなどにアクセスする権限を与えます。
ブラウザーは異なります。パスワードはクライアントマシンに保存され、ハッシュではなく元のパスワードが必要です。
つまり、ほとんどの場合、これらのパスワードはプレーンテキストで保存されます。
セキュリティに関しては、それほど重要ではありません。これらのパスワードは、ユーザーアカウントに属するディレクトリに保存されます。つまり、ユーザーファイルへのアクセス許可を適切に構成し、アクセスを制限するのは、オペレーティングシステム(およびユーザー)の責任です。ユーザー自身のパスワードを含むファイル。
ユーザーエクスペリエンスに関しては、これが最も簡単です。もう1つの可能性は、これらのパスワードをマスターパスワードで暗号化することです。この場合ユーザーは、ブラウザーを開くたびにマスターパスワードを入力する必要があります。ほとんどのユーザーがそれを楽しむことはないと思います。
マスターパスワードがどこかに保存されている場合、同じ問題が発生します。マスターパスワードをプレーンテキストで保存する場合、何が重要ですか。暗号化する場合は、マスター/マスターパスワードが必要です。
ほとんどのブラウザでは、ユーザーが複数のマシン間でデータを同期できることに注意してください。同期では、リモートサーバーを使用して、Cookie、履歴、ブックマーク、およびパスワードを保存します。たとえば、ChromeはGoogleサーバーを使用してこのデータを保存します。
この場合、同期サーバーにパスワードがプレーンテキストで保存されることはありません。それ以外の場合、セキュリティ上の問題になります。 Chromeでは、同期用のマスターパスワードを選択する必要があります(またはGoogleアカウントのパスワードを使用します)。このマスターパスワードは、パスワード(常に)や、履歴やブックマーク(オプション)などの他のデータの暗号化に使用されます。
simplicity簡単にするために、異なるパスワードに同じハッシュを使用できないと想像できます。理論的には、衝突が存在する可能性があるため、これは誤りです。実際には、SHA-256などの強力なハッシュアルゴリズムを使用すると、何百万もの登録ユーザーがいる場合でも、Webサイトの衝突のリスクを無視できます。 MD5のように時代遅れで価値の低いハッシュアルゴリズムを使用する場合は、状況が異なります。
これらのプログラムはクリアテキストのパスワードを必要とします(要求されたときにパスワードを送信する必要があります)。したがって、プレーンテキストとして格納されます。多くのブラウザでは、保存されているすべてのパスワードをマスターパスワードで暗号化することができます(一度だけ尋ねられます)。