SSL/TLS証明書とHTTPSの可視化
ブラウザのアドレスバーに出る🔒マーク。その裏で、ブラウザとサーバーが「相手は本物か」を確かめ、「盗み見されない通信」を作る手順(TLSハンドシェイク)が動いています。「進む」を押して、HTTPS接続が成立するまでの流れを1ステップずつ追ってください。
いま何が起きているか
信頼の連鎖(証明書チェーン)
サーバー証明書の中身
SSL/TLSとは
SSL/TLSは、インターネット上の通信を暗号化し、通信相手が本物だと確認するための仕組みです。これをWebに適用したものがHTTPS(HTTP over TLS)です。「SSL」は古い呼び名で、現在使われているのは正確には「TLS」ですが、慣習的にSSLとも呼ばれます。TLSが守るのは大きく3つ——盗聴されない(暗号化)/相手が本物(認証)/途中で改ざんされない(完全性)です。
「公開鍵」と「秘密鍵」と「共通鍵」
TLSでは2種類の暗号方式を使い分けます。ここが核心です。
公開鍵暗号(非対称) … 「公開鍵」と「秘密鍵」のペアを使う。公開鍵で暗号化したものは、対応する秘密鍵でしか開けません。安全だが処理が重い。
共通鍵暗号(対称) … 1つの「共通鍵」で暗号化・復号する。速いが、その鍵を安全に相手へ渡すのが難しい。
そこでTLSは、最初の鍵の受け渡しだけ公開鍵暗号を使い(重いが安全に共通鍵のもとを届ける)、本番のデータは共通鍵暗号でやり取りします(速い)。両者のいいとこ取りをしているわけです。鍵マークの裏では、この“バトンタッチ”が起きています。
信頼の連鎖(チェーン・オブ・トラスト)
「このサーバー証明書は本物か?」をどう確かめるのでしょうか。証明書には発行した認証局(CA)の署名が付いています。サーバー証明書は中間認証局が署名し、その中間認証局はルート認証局が署名しています。そしてルート認証局の証明書は、ブラウザやOSに最初から組み込まれていて“無条件に信頼”されています。この起点までたどれれば「正しく発行された本物の証明書」と判断できます。これが信頼の連鎖です。逆に、どこかでたどれない・期限切れ・ドメイン不一致があると、ブラウザは「保護されていない通信」と警告します。
基本情報技術者試験ではこう出る
「公開鍵暗号と共通鍵暗号の違い」「ディジタル証明書を発行するのは(→認証局CA)」「ルート証明書の役割」「公開鍵で暗号化し秘密鍵で復号する/署名は秘密鍵で行い公開鍵で検証する」といった出題が定番です。とくに“暗号化は受信者の公開鍵で・ディジタル署名は送信者の秘密鍵で”という対応関係は混同しやすいので、本ツールの流れと合わせて整理しておくと安心です。HTTPS通信の関連は当サイトのネットワーク境界の可視化(リバースプロキシのSSL終端)も参考になります。
よくある質問
Q. なぜ公開鍵暗号だけで全部やらないの?
A. 公開鍵暗号は安全ですが処理が重く、大量のデータをやり取りすると遅くなるためです。鍵の受け渡しという“最初の一瞬”だけ公開鍵暗号を使い、あとは速い共通鍵暗号に切り替えるのが効率的だからです。
Q. 証明書が「無効」と警告が出るのはどんなとき?
A. ①有効期限切れ、②アクセス先のドメインと証明書のドメインが不一致、③信頼の連鎖をたどれない(自己署名証明書や、信頼されていない認証局)などです。いずれも「相手が本物だと確認できない」状態なので、ブラウザが警告します。
Q. 無料で証明書は取れる?
A. はい。Let's Encrypt などの無料の認証局があり、多くのサイトで使われています。このinfravis.devも、Cloudflare経由で自動的にHTTPS(証明書)が有効になっています。