HTTPS プロトコルは、ネットワーク上での盗聴(機密性)や改ざん(完全性)といった脅威から、ユーザのデータを保護できるように設計されています。 ユーザのデータを扱う Web サイトは、ユーザを攻撃者から守るために HTTPS を使うべきです。HTTPS を使わなければ、ユーザの情報(ログインの資格情報など)が盗まれるのは当たり前になってしまいます。このことを Firesheep が証明したのは有名です。
安全でないログインフォームを提供することは、幅広い攻撃手段を与えることになるため特に危険です。ネットワークを盗聴している者は、スニッフィングでユーザの機密情報を直接盗んだり、攻撃の幅を広げるために受信中のページを書き換えたりします。
Nightly と Developer Edition におけるセキュリティ表示
安全ではない通信路上で ログインページが提供されている場合、上で説明した脅威を知らせるため、Firefox Developer Edition のアドレスバーには赤い斜線が入った鍵アイコンが以下のように表示されます。
この警告サインは Firefox Nightly と Firefox Developer Edition にのみ表示されます。beta 版とリリース版の Firefox のアドレスバーにはまだ表示されていません。ただし、リリース版の Firefox でも、Web コンソールのセキュリティ通知欄に警告が表示されます(以下の項を参照してください)。この警告サインに関する詳細と FAQ についてはこちらのブログ記事をご覧ください。
パスワードの使い回し
Web サイトがユーザ名とパスワードの入力を求めることはしばしばありますが、そのとても機微なデータを実際に格納しているわけではありません。とあるニュースサイトを例に考えると、ユーザが読み返したい記事を保存するかもしれませんが、ユーザに関するあらゆるデータは保存しないかもしれません。そのニュースサイトの Web 開発者は、サイトとユーザの機密情報を保護しようとはほとんど考えていないかもしれません。残念ながら、パスワードの使い回しは大きな問題となっており、ユーザは複数のサイト(ニュースサイト、SNS、メール、銀行)で同じパスワードを使います。つまり、自分たちのサイトが管理するユーザ名とパスワードに何者かがアクセスしたところで、自分たちに大きなリスクがあると思えなくとも、銀行の Web サイトでも同じパスワードでログインしているユーザにとっては非常に大きなリスクなのです。攻撃者はより賢くなっており、一つのサイトでユーザ名とパスワードの組を盗んだ後には、より金目のあるサイトに同じ組でログインできないか試しているのです。
Web コンソールに表示されるメッセージ
ログインフォームが HTTP で提供されている場合
たとえ form 要素の action 属性に指定された URL が HTTPS であったとしても、ユーザのログインフォームは保護されません。なぜなら、これからユーザが受信するページを攻撃者が書き換えるのは可能だからです(例えば、ユーザの入力を記録するスクリプトを挿入できたり、機微なデータの送信先を攻撃者の管理するサーバに変更できたりします)。 Web コンソールのセキュリティ通知欄には、この問題に対する警告が以下のように 表示されます。
form 要素の action 属性に指定された URL が HTTP だった場合
この場合、ユーザが入力したあらゆるデータはネットワーク上を平文で流れます。ユーザが入力したそのパスワードは、ユーザのコンピュータを離れてあなたの Web サーバに届くまでの間、ネットワークをスニッフィングしている全員がはっきりと読み取ることができます。次のスクリーンショットは、この問題を抱えている form の HTML ソースについて警告のメッセージが表示されているようすです。