web-dev-qa-db-ja.com

なぜMozilla Firefoxは保存されたパスワードを暗号化するのですか?

Mozilla FirefoxにWebサイトのログイン詳細を記憶するように要求すると、認証情報はLogins.jsonのプロファイルディレクトリに保存されます。

プレーンテキストの値を保存する代わりに、ユーザー名とパスワードは暗号化されます(Mozillaの [〜#〜] nss [〜#〜] ライブラリに実装されているPKCS#11 APIを使用)。ただし、それらを復号化するために必要なキーは、プロファイルディレクトリ( Key3.db )にも保存されます。したがって、そのディレクトリを取得した攻撃者は、保存されたパスワードを抽出することもできます(つまり、所有者がマスターパスワードを設定していない場合)。

これは私を不思議に思いました:キーが近くに格納されているときにデフォルトでLogins.jsonのパスワードを暗号化する動機は何でしたか?この現実的なシナリオで、この設計決定により攻撃が複雑になる可能性はありますか?

11
Arminius

それはおそらく実装を単純化することです。マスターパスワードが設定されているかどうかに応じてキーストアが暗号化されるかどうかにかかわらず、コードは常に暗号化されます。

これにより、マスターパスワードが有効になっているときに暗号化を忘れたコードパスが見過ごされる可能性が低くなります。

8
Lie Ryan

その理由は、保存されているパスワードを難読化するためであり、Firefoxの「ウェブサイトのパスワードを記憶する」機能は常にマスターキーで使用されることになっていると思います。

3
dr_