web-dev-qa-db-ja.com

ログインフォームの「パスワードを表示」オプションは安全ですか?

私がときどき使用するWebサイトは最近オーバーホールされ、ログインフォームのパスワードフィールドの横に「表示」チェックボックスが追加されました。一部の社員が実際にパスワードを入力するときにこれらを必要とする理由を理解していますが、パスワードを入力するパスワードマネージャーを使用している場合、セキュリティホールのように見えます。

私の場合、パスワードはFirefoxのパスワードマネージャーに保存され、マスターパスワードで保護されています**。そのため、はい、私のコンピューターでFirefoxを一時的に使用している他のユーザーがこのサイトに自動的にログインする可能性がありますが、少なくとも現在のパスワードが実際には表示されないと考えています。

ただし、この新しいチェックボックスを使用すると、次のことができます。サイトにアクセスし、Firefoxにパスワード(一連のドットとして不明瞭化された)が事前に入力されたログインフォームに移動しました。次に、「表示」をクリックして、十分なパスワードがプレーンテキストで表示されたことを確認しました。

最後に、これがセキュリティの問題である場合、サイトのWeb管理者に問題の概要を説明する簡潔な方法は何ですか?私はウェブデザイナー/管理者ではありません。

**このスレッドのために、Firefoxのパスワードマネージャーがパスワードを保護するための安全な方法であるかどうかについての大きな議論を避けましょう。自宅や職場のコンピューターでのみ使用しますが、他の人にはめったに使用されません。また、LastPassのようなより堅牢なマネージャーを使用する必要があると思われる場合でも、LastPassがログインしているときに誰かが偶然あなたのコンピューターに座った場合、同様の脆弱性が存在すると思います。

5
SSilk

パスワードフィールドをユーザーごとにマスク解除することに固有のセキュリティ問題はありません。サイトの機能的な動作では、フォームフィールドにアクセスできるメソッド(サーバーサイドポストやJavaScriptなど)は、マスクフィールドのデータにまったく労力をかけずにアクセスできます。パスワードのマスキングには2つの機能があります。 1つは、誰かが単にユーザーの肩越しにパスワードを確認するのを防ぐことです。また、パスワードが特に安全であるかどうかに関係なく、ユーザーはパスワードが安全であると感じます。

パスワードのマスクを解除できるチェックボックスがあることは、エンドユーザーが入力したパスワードを表示するかどうかを決定し、パスワードが入力されているかどうかを判断できるため、特にセキュリティ上の問題ではありませんパスワードをページに表示してもしなくても安全だと感じている状況。

パスワード自体のセキュリティは、(どこにも書き留められていないように)ユーザーがパスワードを保存する方法、およびブラウザーからサーバーへの接続が安全である場合(HTTPS)、ユーザーが使用するフィールドのタイプにより依存しますパスワードを入力します。

3

あなたが言及する他のすべて(つまり、共有コンピューター、firefoxで保存されたパスワードなど)を無視している場合、「show」パスワード機能自体は、セキュリティ上のリスクではありません。利便性と「毎日のユーザー」のためです。誰かがブラウザインスペクターでビルドを使用し、それをtextboxからpasswordに変更することを妨げるものは何もありません。同じ目的(パスワードの表示)を提供しますが、HTMLを「変更」する必要はありません。私はその「機能」を持たないサイトでいつもそれをします。タイプpasswordのテキストボックスは、UI上の文字のみをマスクします。

4
Auzi

ユーザーが入力しているパスワード(とにかくユーザーが認識しているパスワード)を物理的に見ることができるという他の誰かの明らかなセキュリティ問題とは別に、その実装方法と何(信頼できる)で生じる可能性のあるセキュリティ「懸念」がいくつかありますソフトウェアはユーザーシステム上にあり、サードパーティのアプリ/ツールに不必要にパスワードを公開する可能性があります。

「パスワードの表示」オプションが単に入力要素のtypetextに変更する場合、テキストフィールドのスペルをチェックするブラウザプラグイン(またはサードパーティアプリ)が要素でアクティブになります。 Google Chromeでは、「Googleに提案を求める」ためにGoogleにテキストを送信することが含まれます。

また、マウスカーソルの下でテキストを検索するサードパーティの辞書アプリもインストールしています。これはpasswordフィールドでは機能しませんが、textフィールドでは機能します。

テキストフィールドもコピーできます(サードパーティのアプリによって)。パスワードフィールドはコピーできません。

ログインフォームをautocomplete有効にする必要はありませんが、INPUTのtypetextに変更すると、パスワードがブラウザのオートコンプリートデータベースに保存される可能性があります(必ずしも安全ではありません) )、INPUTがpasswordに変更されない限り、送信前になります。

typeフィールドのpasswordを変更する代わりに、非フォーム要素の「パスワードを表示」することもできます。これは「より安全」かもしれません。

要約すると...安全である必要がありますが、エンドユーザーが気付かないかもしれない潜在的なリスクがあると思います。しかし、「パスワードを表示する」ことを選択しなければならないのはエンドユーザーです。

4
MrWhite