web-dev-qa-db-ja.com

ユーザーがブラウザにパスワードを保存することを許可する必要がありますか?

監査会社は、「パスワードフィールドにオートコンプリートフォーム属性が設定されている」というバグを発見しました。彼らは、このフィールドのオートコンプリートを無効にして、「インターネットコーヒーショップなどの共有環境で作業している場合」、そのフィールドの開示を防ぐことを提案しました。

ただし、autocomplete属性を無効にしても、登録時にブラウザがパスワードを保存することは妨げられません。ユーザーがブラウザにパスワードを保存できないようにするにはどうすればよいですか? (つまり、登録またはログイン後にブラウザのポップアップ「このパスワードを保存しますか?」というポップアップが表示されます)

ユーザーのブラウザにパスワードを保存することは、それを盗むトロイの木馬が原因で危険な場合があります。ただし、オートコンプリートパスワードは、キーロガーや肩の後ろにいる男性の助けになる場合があります。それで、ユーザーはそのブラウザにパスワードを保存することを許可されるべきですか?

10
Andrei Botalov

ここにはさまざまな機能があります。ブラウザは、以前に入力された値でテキストフィールドをオートコンプリートすることを提供します。これには、以前に同じフィールドに入力された値の履歴を保存する必要があります。この履歴はクリアテキストで保存され、ユーザーからのフィードバックはありません。パスワードフィールドは、このような履歴の保存とオートコンプリートの対象にはなりません。

ブラウザーには、特にパスワードを対象とした明確な機能もあります。パスワード(Webページでそのように宣言されている)は、ユーザーがプロンプトに対して明示的に「はい」と答えた場合にのみ保存されます。ほとんどのブラウザーは、「パスワードを保存しますか?はい/いいえ/このサイトではありません」。さらに、ユーザーはマスターストレージをパスワードストレージに置くことができ、ユーザーがコンピューターを使用していない間はパスワードを保護します。

ほとんどの場合、パスワードをそのように宣言し、ブラウザに保存できるようにする必要があります。これはユーザーにパスワードセキュリティの責任を負わせます Tom Leekがよく説明しているように 、これは通常正しいことです。これを行わないと、ユーザーがパスワードをテキストファイルに書き込む可能性があります。ユーザーが共有またはトロイの木馬を使用したコンピューターを使用している場合、ユーザーはとにかく負けています。ユーザーがパスワードの保存に同意する場合、その機能を拒否しても何も得られません。

ユーザーがパスワードをメモに書き留めて、キーボードの下に「隠す」ことを防ぐことはできません。ユーザーが自分のパスワードを妻、友人、同僚に与えることを防ぐことはできません。ユーザーが自分の犬の耳に刺青されたIDをパスワードとして選択するのを防ぐことはできません(フランスの大手銀行からのコマーシャルでさえも宣伝していました)。さらに言えば、キーロガーの脅威により、ユーザーがインターネットコーヒーショップマシンでパスワードを入力するのを防ぐことはできません。

したがって、パスワードのセキュリティはユーザーの責任であると私は言いがちであり、彼が愚かなことをすることに熱心である場合、それを本当に防ぐことはできません。

「オートコンプリート」は、対象ページに関係なく、Webブラウザがデータを自動的に入力するためなので、少し異なることに注意してください。通常、「保存されたパスワード」機能はブラウザの特定のページ(またはサイト)に関連付けられているため、自動入力された非パスワードフィールド要素が持つプライバシーの問題(および監査会社が正しく指摘している)は発生しません。パスワードの保存は、ブラウザ自体によって十分に注意して処理されることになっています。

それにもかかわらず、ページ自体、または少なくともあなたの懸念を共有する人々からのパスワードの保存を防ぐいくつかの方法があるようです。おそらく、合理的な根拠があるかどうかにかかわらず、管理上の理由からです。たとえば、この StackOverflowに関する質問 を参照してください。

9
Tom Leek