図解で分かる Web の仕組み

HTTPS とは ― SSL・TLS で通り道に鍵をかける流れを図で見る

アドレス欄の鍵のマークは、そのページとのやりとりが HTTPS で守られている印です。HTTPS は、ページをリクエストする前に相手を確かめ、通り道に鍵をかけています。その流れを順に見ていきます。

公開

ブラウザ example.jp サーバー example.jp pass123 pass123 TLS HTTP A B A と B 証明書 example.jp 発行元:認証局 名前 期限 発行元 警告で止まる pass123 x9#Q%k@ 通り道が暗号 相手が example.jp ?サイトが安全か

1 / 7 1. HTTP のままだと読まれる 暗号にしない HTTP では、フォームに入れたパスワードなども、途中で覗かれるとそのまま読まれます。 本文で読む

  1. 1. HTTP のままだと読まれる 暗号にしない HTTP では、フォームに入れたパスワードなども、途中で覗かれるとそのまま読まれます。
  2. 2. HTTPS は HTTP を TLS で包む HTTPS は、いつもの HTTP のやりとりを、TLS という暗号の仕組みで包んだものです。TLS の前の名前が SSL です。
  3. 3. 鍵の材料を交換する ブラウザとサーバーは、鍵の材料を交換して、それぞれの手元で同じ鍵を計算します。鍵そのものは通り道に流れません。
  4. 4. サーバーが証明書を見せる サーバーは、作った鍵で暗号にした通り道で、証明書を見せます。証明書は「このサーバーは確かに example.jp です」と、発行元が保証したものです。
  5. 5. ブラウザが証明書を確かめる ブラウザは、名前が合っているか・期限内か・信頼できる発行元かを確かめます。1 つでも合わなければ、警告の画面を出して止まります。
  6. 6. 暗号でやりとりする 相手を確かめられたら、作った鍵でやりとりを暗号にします。途中で覗かれても、中身は読めません。
  7. 7. 鍵のマークが表すこと 鍵のマークは「通り道が暗号になっている」「相手がそのドメインのサーバーである」ことの印です。サイトが安全かどうかまでは表しません。

1. HTTP のままだと読まれる

ブラウザとサーバーは、HTTP という決まった書き方でやりとりしています。ところが HTTP は、やりとりを暗号にしません。お問い合わせフォームに入れた名前やメールアドレス、ログインのパスワードも、そのままの形で通り道を流れます。

通り道のどこか(たとえば公衆 Wi-Fi)で覗かれると、中身がそのまま読めてしまいます。途中で書きかえられても、ブラウザは気づけません。

2. HTTPS は HTTP を TLS で包む

HTTPS は、HTTP のやりとりを TLS という暗号の仕組みで包んだものです。中身の書き方は HTTP のままで、外側を暗号の封筒に入れて送るイメージです。

TLS の前の名前は SSL です。今も「SSL 化」「SSL 証明書」と呼ぶことが多いのですが、実際に使われているのは TLS です。古い SSL や TLS 1.0・1.1 には弱いところが見つかって使われなくなり、今は TLS 1.2 と 1.3 が使われています。

3. 鍵の材料を交換する

ブラウザがサーバーにつなぐと、TLS はまず、やりとりを暗号にするための鍵を決めます。

  1. ブラウザとサーバーが、それぞれ「鍵の材料」を作って交換します
  2. 交換した材料と自分の手元の秘密から、ブラウザとサーバーが 同じ鍵 をそれぞれ計算します
  3. 鍵そのものは通り道に流れないので、途中で材料を覗かれても、同じ鍵は作れません

ただし、この時点ではまだ「相手が本物の example.jp か」は分かっていません。それを次の 4 と 5 で確かめます。

4. サーバーが証明書を見せる

サーバーは、3 で作った鍵で暗号にした通り道を使って、自分の 証明書 をブラウザに見せます。証明書には、主に次のことが書いてあります。

  • どのドメインの証明書か(例:example.jp)
  • いつからいつまで使えるか
  • 誰が発行したか(認証局)
  • サーバーの公開鍵

あわせてサーバーは、証明書と組になる秘密鍵で、ここまでのやりとりに署名して送ります。証明書を見せるだけでなく、その証明書の持ち主であることも示すためです。

5. ブラウザが証明書を確かめる

ブラウザは、受け取った証明書を 3 つの点で確かめます。

  1. 名前:証明書のドメインがアドレス欄のドメインと合っているか
  2. 期限:今日が使える期間の中か
  3. 発行元:ブラウザやパソコンがあらかじめ信頼している認証局が、発行を保証しているか

3 つとも合い、4 の署名も正しければ次へ進みます。1 つでも合わなければ、ブラウザは「この接続ではプライバシーが保護されません」などの警告の画面を出して止まります。図の下のボタンで、期限が切れているときの様子を見られます。

補足

証明書の期限は、短くなってきています。2026 年 3 月からは最長 200 日になり、2027 年 3 月からは 100 日、2029 年 3 月からは 47 日になる予定です。手で更新するのは現実的でなくなるので、レンタルサーバーの無料の証明書(Let's Encrypt など)のように、自動で更新される仕組みを使うのが前提になります。

6. 暗号でやりとりする

相手を確かめられたら、ここからがいつもの HTTP のやりとりです。ページをリクエストする、フォームを送る、といった中身はすべて、この鍵で暗号にしてから送ります。

途中で覗かれても、見えるのは意味のない文字の並びです。書きかえられた場合も、受け取った側が気づけます。

7. 鍵のマークが表すこと

アドレス欄の鍵のマークは、ここまでの流れがうまくいった印です。表しているのは次の 2 つです。

  • 通り道が暗号になっていること
  • つないだ相手が、確かにそのドメインのサーバーであること

ブラウザによって、印の形は違います。Chrome は 2023 年から鍵のマークをやめ、代わりにサイトの設定を開く印を出しています。Chrome で HTTPS でないページを開くと、アドレス欄に「保護されていない通信」と出ます。

一方で、鍵のマークは サイトそのものが安全かどうか は表しません。証明書は無料で取れるので、偽のサイト(フィッシングサイト)にも鍵のマークは付きます。鍵のマークだけでなく、ドメインの名前が本物かどうかも確かめることが大切です。

自分のサイトを HTTPS にするには

多くのレンタルサーバーには、無料の証明書を設定して自動で更新する機能があります。設定のあとは、次の点を確かめます。

  • http:// で来た人を https:// に転送する(301 リダイレクト)
  • ページの中の画像や CSS を http:// で読み込んでいないか(混在コンテンツ)。残っていると、鍵のマークが外れたり、読み込まれなかったりします
  • WordPress なら、設定の「WordPress アドレス」と「サイトアドレス」を https:// にする

出典

この図解は、出典に挙げた仕様や公式の文書をもとに Claude(AI)が下書きし、セオリコが内容を確かめて公開しています。図は説明のために流れを簡単にしたもので、実際のやりとりはサイトや環境によって異なります。

表示されない・遅い・エラーが出るときは、ご相談ください。

症状をうかがい、どの段階で止まっているかから調べます。WordPress のトラブルの初回相談・簡易調査は無料です。