Webブラウザはどのようにパスワードを保存しますか?


8

現在のWebブラウザー(またはモバイルメールクライアントと一般的なソフトウェア)はユーザーパスワードをどのように保存しますか?パスワードの保存に関するすべての回答は、パスワード自体ではなく、ハッシュのみを保存する必要があると述べています。しかし、後でパスワードをプレーンテキストで必要とすることがわかっているときに、弱い暗号化(既知のキー)を使用せずにそれらをプレーンテキストで保存することなく、パスワードを保存するための最良の手法を見つけるためにWebを検索するのに苦労しています。ユーザーにマスターパスワードを要求しません。何か案は?


この質問は、ITセキュリティ SEサイトに適しています。
Bernard

@バーナードありがとう、私はITセキュリティサイトを知らなかった...
marcus

今日(Chrome 60)の時点で、Chromeはクリアテキストのパスワードを...以降ずっと保存しています。これらのクリアテキストのパスワードをユーザーのアクセスからどの程度保護する必要があるかについての激しい議論があります。ここで両側から多くの有効な議論を楽しんでください。
2017

回答:


4

ローカルでプレーンテキストとして保存されるか、暗号化されます。

暗号化された場合、EN /復号鍵(パスワードマネージャの初回使用時に生成さに記憶されたマシンごと(インストール時に生成され、インストールディレクトリに格納されている)、またはユーザごとに、(実行中にハードコード)ブラウザごとに固定することができます%appdata%

またはそれらを組み合わせることができます:ユーザーレベルのキーはマシンレベルのキーで暗号化されるため、マルウェアがパスワードが保存されているファイルを取得すると、ユーザーレベルとマシンレベルのキーがなければ役に立たなくなります。

一部のブラウザでは、既存のキーと組み合わせてセキュリティを強化する「マスター」パスワードを使用することもできます

(適切な)同期サービスを使用すると、パスワードがサーバーにプレーンテキストで保存されたり、サーバー側で復号化されたりすることはありません。


ありがとう。すべての回答から、良い「強力な」解決策はないようです。それはプレーンテキストまたは難読化(つまり、マシン自体からキーを取得できる暗号化)のいずれか
marcus

12

マスターパスワードを使用しない限り、パスワードはプレーンテキストで保存されます。

パスワードのハッシュのみを保存する必要があると人々が言うとき、彼らはクライアント側ではなくサーバー側のストレージについて話している。

サーバ側

ユーザーが自分のパスワードで登録/ログオンできる独自のWebサイトを持っている場合、パスワード自体を保存する必要はありません(保存してはいけません)。

  • あなたはプレーンなパスワードを保存する必要はありません、あなただけのログオン時に使用したパスワードは登録時に、ユーザによって与えられたパスワードと一致することを確認する必要があるため、。パスワードが異なるとハッシュも異なるため、ハッシュを使用できますhas。

  • あなたはプレーンなパスワードを保管してはなりません。ウェブサイトがハッキングされた場合はどうなりますか?さらに、多くの人が何度も同じパスワードを再利用しているため、事実上、ハッカーにユーザーのFacebookアカウント、メールアカウントなどにアクセスする権限を与えています。

クライアント側

ブラウザーは異なります。パスワードはクライアントマシンに保存され、ハッシュではなく元のパスワードが必要です。

つまり、ほとんどの場合、これらのパスワードはプレーンテキストで保存されます。

  • セキュリティに関しては、それほど重要ではありません。これらのパスワードは、ユーザーアカウントに属するディレクトリに保存されます。つまり、ユーザーファイルへのアクセス許可適切に構成し、パスワードを含むファイルへのアクセスをユーザー自身に制限するのは、オペレーティングシステム(およびユーザー)の責任です。

  • ユーザーエクスペリエンスに関しては、これが最も簡単です。もう1つの可能性は、これらのパスワードをマスターパスワードで暗号化することです。その場合、ユーザーはブラウザーを開くたびにマスターパスワードを入力する必要があります。ほとんどのユーザーがそれを楽しむことはないと思います。

    マスターパスワードがどこかに保存されている場合、同じ問題が発生します。マスターパスワードをプレーンテキストで保存する場合、何が重要ですか。暗号化する場合は、マスター/マスターパスワードが必要です。

同期

ほとんどのブラウザでは、ユーザーが複数のマシン間でデータを同期できることに注意してください。同期では、リモートサーバーを使用して、Cookie、履歴、ブックマーク、およびパスワードを保存します。たとえば、ChromeはGoogleサーバーを使用してこのデータを保存します。

この場合、パスワードが同期サーバーにプレーンテキストで保存されることはありません。それ以外の場合、セキュリティ上の問題になります。Chromeでは、同期用のマスターパスワードを選択する必要があります(またはGoogleアカウントからのものを使用します)。このマスターパスワードは、パスワード(常に)や、履歴やブックマーク(オプション)などの他のデータの暗号化に使用されます。


simplicity簡単にするために、異なるパスワードに同じハッシュを使用することはできないと想像できます。理論的には、衝突が存在する可能性があるため、これは誤りです。実際には、SHA-256などの強力なハッシュアルゴリズムを使用すると、数百万の登録ユーザーがいる場合でも、Webサイトの衝突のリスクを無視できます。MD5のように時代遅れで価値の低いハッシュアルゴリズムを使用する場合は、状況が異なります。


2
あなたはマスターパスワードが保存される方法について心配しているようですが、私たちは本当にそれを保存する必要はありません(または望んでいない)でしょうか?私の理解では、マスターパスワードは、保存されたパスワードを復号化し、新しいパスワードを暗号化するための(一部の)キーとして必要です。解読に関する限り、マスターパスワードが間違っている場合、解読された特定のパスワードも(うまくいけば)間違っているでしょう。間違ったパスワードで暗号化したくないので、実際の問題は新しいパスワードですが、マスターパスがデフォルトの文字列を適切に復号化することを確認できません(したがって、エンコードされた文字列を格納する必要があります)。
SylvainD 2012年

同意した。マスターパスワードがあると、サーバー側と同じ位置に戻ります。チェックのみです。ハッシュに対してパスワードを検証し、チェックアウトする場合はユーザー入力を使用できます。永久に保存する必要はありません。これは、一部のアプリケーションが古くなったハッシュを更新するために使用するメカニズムでもあります。ユーザーがログインするのを待って、古いハッシュを確認し、メモリ内にクリアテキストで入力を再ハッシュして、新しい、より安全なハッシュを保存します。
マシューシャーリー

@Josay:ユーザーがブラウザを開くたびにマスターパスワードの入力を求めたくない場合は、マスターパスワードの保存方法を心配しています。ユーザーが入力する必要がある場合、ハッシュのみを保存するため、技術的には非常に簡単になります。
Arseni Mourzenko 2012年

@MainMa Ok、私はあなたと100%です。
SylvainD 2012年

注目に値するのは、ほとんどのブラウザがOSのキーストアを使用しているということです。たとえば、SOのユーザー名とパスワードを自分のPC(Win 10のfirefox)に保存すると、キーストアに保存されます。これは暗号化されていますが、ログインするとロック解除されます。自分のPCに座っている人が私としてログインした場合、それらにアクセスできますが、他の人としてログインした場合、私のパスワードは取得できません。
Baldrickk

0

これらのプログラムでは、クリアテキストのパスワードが必要です(要求されたときにパスワードを送信する必要があります)。したがって、プレーンテキストとして格納されます。多くのブラウザでは、保存されているすべてのパスワードをマスターパスワードで暗号化できます(1回だけ尋ねられます)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.