
HTTPS(Hypertext Transfer Protocol Secure)は、WebブラウザとサーバのHTTP通信をTLS(旧SSL)で暗号化したプロトコルです。1994年にNetscapeがSSLとして提唱した仕組みが下地で、2010年代にGoogleやLet's Encryptが「全Webサイトをhttps化する」運動を主導した結果、現在はHTTPSがWebの常識、HTTPは例外、という構図に逆転しました。
この記事の目次
- HTTPSが守る3つのこと
- TLSハンドシェイクの流れ
- Let's Encryptが変えた風景
- HTTPS化で気をつけたいこと
- まとめ
HTTPSが守る3つのこと

HTTPSが提供するのは「機密性」「完全性」「認証」の3点セットです。通信は暗号化され、途中の経路(公衆Wi-Fi、ISP、攻撃者)から内容を盗み見られません(機密性)。
また、メッセージ認証コードによって途中で内容が書き換えられた場合に検知できる仕組みになっています(完全性)。サーバ証明書による身元確認(認証)も大事で、「m-words.jpを名乗るサーバが本当に正しいm-words.jpか」を認証局の証明書で確認します。盗聴・改ざん・なりすましのすべてに同時に対処できるため、現代Webの最低限の防御線になっています。
TLSハンドシェイクの流れ

HTTPSはまずTLSハンドシェイクで「これからどんな暗号で話すか」「相手は本物か」を確認します。ブラウザはClientHelloで使える暗号スイートを送り、サーバは証明書と公開鍵を返し、両者で暗号鍵の素材を交換、最終的に共通鍵を確立した後で実際のHTTPメッセージを暗号化通信します。
現在主流のTLS 1.3(2018年RFC)はこのハンドシェイクを大幅に簡略化し、1往復(1-RTT)でセキュアなセッションが確立します。古いTLS 1.0 / 1.1や、過去のSSL 2.0 / 3.0は脆弱性のため使用が禁じられており、TLS 1.2以上が現代の最低ラインです。
Let's Encryptが変えた風景

HTTPSが普及した最大のターニングポイントは、2015年に登場したLet's Encryptです。それまで証明書は1枚あたり年間1万〜数万円が相場で、個人サイトでは負担が大きすぎる存在でした。Let's Encryptは「無料・自動・短期間(90日)」の証明書をACMEプロトコルで発行する仕組みを提供し、個人サイトの証明書取得コストを実質ゼロにしました。
並行してGoogleがChromeで「HTTPは安全でない」と警告表示を始め、検索順位でもHTTPSを優遇したことで、業界全体がhttps化に動きました。今では「HTTPSじゃないサイトはむしろ怪しい」という空気が定着しています。
HTTPS化で気をつけたいこと

HTTPS化で意外と多いトラブルが、Mixed Content(混在コンテンツ)です。ページ自体はHTTPSなのに、画像やJavaScriptをHTTPで読み込んでいるとブラウザが警告を出し、場合によってはブロックします。サイト全体の参照URLをすべてhttpsに揃えるのが基本です。
もうひとつ多いのが証明書の期限切れ。Let's Encryptは90日と短いので自動更新ジョブが必須で、cron / certbot / Caddy / nginx-acmeなどで定期更新を仕込みます。監視ツールに証明書有効期限のアラートを入れておくと事故が起きにくくなります。
まとめ
HTTPSはもはや「特別な対応」ではなく、Webサービスの初期構築時から当然備える機能です。通信の安全だけでなく、検索評価・ユーザーの信頼・新しいブラウザ機能の利用条件まで含め、Webを運用するすべての人が押さえておくべき基本になっています。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント