仕組みを知る

HTTPSとは?暗号化と証明書の仕組み・安全なサイトとの違い

HTTPSは、HTTPのやり取りをTLSで守り、通信内容を読まれたり書き換えられたりしにくくする仕組みです。暗号化、証明書、確認ポイントを初心者向けに順に見ていきます。

HTTPSとは?暗号化と証明書の仕組み・安全なサイトとの違い

30秒でわかる答え

HTTPSは、HTTPのやり取りをTLSで暗号化し、通信相手を確認しながらデータを送る仕組みです。通信中の内容を守るもので、接続先のサイトが安全・正確であることまで保証するわけではありません。

TERM PRIMER

先に知っておく言葉

HTTP
Webで「このページをください」というお願いと、データや結果を伝える返事をやり取りするためのルールです。
HTTPS
HTTPの通信を暗号化して、より安全にやり取りするためのしくみです。
ブラウザ
Webサイトのデータを受け取り、人が読める画面として組み立てるアプリです。
URL
Web上のページやファイルの場所を示す住所のような文字列です。

HTTPSのページでも確認したい4つのポイント

「HTTPSのページだから、ここにパスワードを入れても大丈夫?」と迷ったら、通信の保護と入力先を分けて確認します。HTTPSが守るのは、ブラウザと接続先の間を行き来するデータです。接続先そのものを信用してよいかは、別に確かめます。

  1. URLのドメイン名が正しいか
  2. HTTPSで接続されているか
  3. ブラウザに警告が出ていないか
  4. 入力する情報に対してページの目的が自然か

警告が出ている、心当たりのない入力を求められるなど、確かめられない点があれば入力を止めます。届いたリンクをそのまま使わず、いつも使っている公式アプリや、確認済みのブックマークから開き直してください。

ユイ

通信を守れていても、送った相手には読めるんですよね。

マコト

そうだね。途中でのぞかれないことと、誰に送るかを分けて追ってみよう。

通信路が守られる場面を物語から見たい場合は、第53話「SSL/TLSは通信路をどう守る? 鍵付きの通路を進もう」が入口になります。

HTTPのやり取りをTLSで守る

Webページを見るとき、ブラウザとサーバーの間ではリクエストとレスポンスが行き来します。ログインフォームなら、入力したIDやパスワードをブラウザが送り、サーバーがその内容を受け取ります。HTTPSでは、このやり取りをTLSという仕組みで守ります。途中で内容をのぞかれにくくし、改ざんを検知し、接続先の確認も行います。

ユイとマコトが、お願いと返事の小包が青い保護チューブの中を行き来する様子を確認している
HTTPSは、HTTPのやり取りをTLSで守り、途中で読まれたり書き換えられたりしにくくします。

HTTPS接続の流れ

図では通路の中にお願いと返事が見えています。実際の通信で内容を送るには、まず相手を確認して、保護に使う準備を整えます。新しく接続するときの大まかな流れは次のとおりです。

  1. ブラウザが https:// のURLへ向かう
  2. サーバーが証明書を示す
  3. ブラウザが証明書や接続先を確認する
  4. TLSで守られた通信路を作る
  5. その中でHTTPのリクエストとレスポンスを送る

このため、HTTPSはHTTPと別物の会話ではなく、HTTPのやり取りを安全に包む見方ができます。お願いと返事の基本は リクエストとレスポンスとは に戻ると整理しやすくなります。

HTTPSが守るもの

HTTPSが主に助けるのは、通信中のデータです。たとえば問い合わせフォーム、ログイン情報、決済画面などでは、通信がそのまま読まれたり書き換えられたりしにくいことが大切です。

ラボのたとえでは、ユイの手紙を透明な封筒ではなく、鍵付きの封筒に入れて配送路へ出すようなものです。実際には封筒ではなく、暗号化、証明書、鍵交換などの技術が組み合わさります。

HTTPSが関わる主なポイントは次です。

  • 通信内容を読まれにくくする
  • 通信中の改ざんに気づきやすくする
  • 接続先サーバーの確認に役立つ
  • ブラウザが警告を出す判断材料になる

ただし、通信の内容を隠す相手は、途中で盗み見ようとする第三者です。送り先のサーバーは、届いた内容を読んで処理します。この違いが、HTTPSでも入力先を確認する理由になります。

HTTPSでも確認が必要なこと

HTTPSは大事ですが、万能の安全印ではありません。偽サイトでもHTTPSを使うことがあります。内容が暗号化されていても、入力先が偽サイトなら、入力した情報はそのサイトに渡ってしまいます。

ユイとマコトが、どちらも保護された入口に見える二つの行き先を見比べている
HTTPSでも偽サイトの可能性は残るため、接続先やページの目的を合わせて確認します。

図の二つの入口では、どちらの通信も保護されていると考えてください。入口の色は説明のための区別で、ブラウザが偽サイトをこのように色分けしてくれるわけではありません。

保護の有無を並べて比べたい場合は、HTTPとHTTPSの違いで確認できます。ここではもう一つ、「相手を確認する証明書があるのに、なぜ偽サイトにもつながるのか」を見ておきましょう。

HTTPSの証明書で確認できること

HTTPSでは、サーバー証明書が重要です。証明書は、接続先がそのドメイン名のために用意されたサーバーであることを確認する材料になります。

たとえるなら、証明書はドメイン名と通信に使う鍵を結び付ける確認票です。ブラウザは、その証明書が開こうとしたドメイン名に合うか、有効期限内か、信頼できる認証局につながるかなどを調べます。接続の中では、相手が対応する秘密鍵を持っていることも確かめます。証明書を見せるだけで済むわけではありません。

証明書による確認は、接続しようとしたドメインと相手の鍵の関係を確かめるものです。自分が本当はどのお店へ行きたかったかまでは判断しません。似た名前のドメインを開いていれば、その別の相手との通信が保護されることになります。通信の改ざんを検知することも、ページに書かれた説明の正しさを保証することとは別です。

HTTPSを説明するミニワーク

次の文を完成させてください。

  • HTTPは、ブラウザとサーバーが____するための約束です。
  • HTTPSは、その通信を____しながら行います。
  • ただし、HTTPSでも____の確認は必要です。

答えの例は、「やり取り」「守る」「ドメイン名やサイト内容」です。安全の話では、一つの印だけで判断しない言い方が大切です。

HTTPSの確認クイズ

Q1. HTTPSは通信中の内容を守る助けになりますか?

はい。暗号化などにより、途中で内容を読まれにくくします。

Q2. HTTPSなら偽サイトの心配はなくなりますか?

なくなりません。偽サイトもHTTPSを使う場合があるため、URLやページ内容の確認が必要です。

Q3. HTTPSの土台になる代表的な仕組みは?

TLSです。古い言い方としてSSLと呼ばれる場面もあります。

HTTPSを現場で確認するときのメモ

よく使うサイトを、確認済みのブックマークから一つ開いてみてください。URLのドメイン名と、ブラウザの接続情報を別々に見ます。接続情報のアイコンや文言はブラウザ・版によって異なるので、「鍵の絵があるはず」と決めず、使っているブラウザの案内に沿って確かめます。

これで「どの相手と」「どんな接続で」やり取りしているかを分けて見られます。HTTPとHTTPSの違いでは保護の有無を比べ、リクエストとレスポンスとはでは実際に往復するものを追えます。

では、そのサイトへ向かうきっかけが「アカウントを停止します」というメールだったら、何を確かめればよいでしょうか。フィッシングとはでは、本物らしい案内に急かされたとき、リンクや入力の手前で止まり、公式の経路から確認する方法を見ていきます。

LAB WHITEBOARD

自分の言葉で説明してみよう

「HTTPSがHTTPのやり取りをTLSで守る仕組みであること、守れる範囲、証明書やURL確認のポイントを分けて説明できるようになる。」を、いまの自分の言葉で一文にしてみてください。途中の説明でも大丈夫です。