あなたのIPv4アドレス:
オペレーティングシステム:
プロバイダー:

HTTPとHTTPSの違い:安全な接続で守られるもの

HTTPは、クライアントとWebサーバーのあいだのリクエストとレスポンスを定めたプロトコルです。HTTPSは、同じWebの仕組みを保護された接続の上で使います。データは暗号化され、クライアントはアドレスバーに表示された名前についてサーバーが正当な権限を持っているかを確認します。これによって守られるのは通信中のやり取りであり、サイト運営者が誠実かどうかではありません。

HTTPSで変わること

通常のHTTPでは、ネットワーク経路上の第三者が内容を読んだり書き換えたりできる可能性があります。HTTPSは安全な通信路を確立し、要求したホスト名に対する証明書を確認します。最近のサイトでは、HTTP/1.1やHTTP/2ではTCP上のTLSを、HTTP/3ではQUICを使うことができます。つまり、HTTPSは特定のHTTPバージョンに縛られているわけではありません。HTTPSが守るのは、ブラウザーと、その保護された接続の終端とのあいだにあるデータの機密性と完全性です。

接続に関する情報の一部、たとえば接続先のIPアドレスや、転送されたデータのおおよその量は、ネットワークから見えたままになることがあります。プロキシ、企業内での通信検査、サードパーティーのリソースによって、信頼の境界がどこにあるかが変わることもあります。HTTPSを使えばあらゆる操作が秘密になるわけではなく、アカウントのセキュリティ対策の代わりにもなりません。

証明書が証明するもの

ブラウザーは、証明書が要求した名前をカバーしているか、受け入れ可能な信頼チェーンを持っているか、セキュリティポリシーを満たしているかを確認します。ホスト名の不一致、有効期限切れ、信頼されていない発行者などの警告が出たときに、検証をオフにして解決しようとしてはいけません。エラーの内容をよく読みましょう。デバイスの時計がずれているだけで、日付が無効に見えることもあります。

example.orgの有効な証明書は、ブラウザーをその名前に結びつけるものであって、そのサイトが本物の商品を売っていることや、本当のことを書いていることを保証するものではありません。フィッシングサイトでも、紛らわしい自分のドメインについて有効な証明書を取得できます。特にメッセージや広告のリンクから開いたときは、パスワードを入力する前にホスト名全体を確認してください。サーバーで動いているサービスは、2IPの「サーバーで稼働中のサービスを確認」ツールで調べられます。

ユーザーとサイト運営者がすべきこと

ユーザーは、パスワードや支払い情報をHTTPで送信しないようにしましょう。HTTPSで警告が表示された場合は、重要な操作では警告を無視して先に進まないでください。サイト運営者は、HTTPのリクエストをHTTPSにリダイレクトし、使用しているすべてのホスト名について証明書を維持し、重要なページのリソースをHTTPで読み込まないようにします。移行後は、トップページだけでなく、フォーム、埋め込みリソース、canonical URLもテストしましょう。

HTTPとHTTPSのスキームと、両者に共通するセマンティクスはRFC 9110で定義されています。Webサイト情報ツールでは技術的な詳細を確認できますが、その情報で運営者の誠実さを評価することはできません。TLS証明書のエラーの読み方は、別の記事で解説しています。