HTTPS とは
HTTPS (HyperText Transfer Protocol Secure) は、HTTP に TLS (Transport Layer Security) による暗号化を加えたプロトコルです。URL が「https://」で始まる Web サイトでは、ブラウザとサーバー間の通信がすべて暗号化されています。
HTTPS は現代の Web における標準であり、Google は検索ランキングの要素として HTTPS 対応を考慮しています。主要なブラウザも、HTTP 接続のサイトに対して「安全ではありません」と警告を表示するようになりました。
TLS の仕組み
TLS (Transport Layer Security) は、通信を暗号化するためのプロトコルです。かつては SSL (Secure Sockets Layer) と呼ばれていましたが、現在はその後継規格である TLS が使われています。
TLS ハンドシェイク
HTTPS 接続の確立時、ブラウザとサーバーの間で「TLS ハンドシェイク」と呼ばれるプロセスが実行されます。
- ブラウザがサーバーに接続を要求し、対応する TLS バージョンと暗号スイートの一覧を送信
- サーバーが使用する TLS バージョンと暗号スイートを選択し、SSL/TLS 証明書を送信
- ブラウザが証明書の有効性を検証 (認証局の署名、有効期限、ドメイン名の一致)
- 鍵交換アルゴリズムにより、共通の暗号鍵 (セッションキー) を安全に生成
- 以降の通信はすべてセッションキーで暗号化される
このプロセスは通常数十ミリ秒で完了するため、ユーザーが意識することはほとんどありません。
TLS のバージョン
TLS 1.3 (推奨)
2018 年に策定された最新バージョンです。ハンドシェイクが 1 往復 (1-RTT) に短縮され、接続速度が向上しました。脆弱な暗号スイートは廃止され、前方秘匿性 (Forward Secrecy) が必須となっています。
TLS 1.2
2008 年に策定され、現在も広く使われているバージョンです。適切な暗号スイートを選択すれば十分な安全性を確保できますが、設定次第では脆弱な暗号が使われる可能性もあります。
TLS 1.0 / 1.1 (非推奨)
既知の脆弱性があるため、主要ブラウザではサポートが終了しています。これらのバージョンしかサポートしていないサーバーには接続できなくなっています。
確認さんの接続プロトコルセクションでは、現在の接続で使用されている TLS バージョンと暗号スイートを確認できます。
SSL/TLS 証明書の役割
SSL/TLS 証明書は、Web サイトの身元を証明するデジタル証明書です。認証局 (CA: Certificate Authority) が発行し、以下の情報を含みます。
- ドメイン名
- 証明書の所有者情報
- 認証局の署名
- 公開鍵
- 有効期限
証明書の種類
- DV (Domain Validation) 証明書:ドメインの所有権のみを検証。Let's Encrypt などで無料取得可能
- OV (Organization Validation) 証明書:組織の実在性も検証。企業サイト向け
- EV (Extended Validation) 証明書:最も厳格な審査を経て発行。金融機関などで使用
暗号スイートとは
暗号スイートは、TLS 接続で使用される暗号アルゴリズムの組み合わせです。鍵交換、認証、暗号化、ハッシュの 4 つの要素で構成されます。
たとえばTLS_AES_256_GCM_SHA384は、AES-256-GCM で暗号化し、SHA-384 でハッシュを計算することを意味します。
確認さんでは、現在の接続で使用されている暗号スイートを接続プロトコルセクションで確認できます。
ALPN と HTTP/2 ・ HTTP/3
ALPN (Application-Layer Protocol Negotiation) は、TLS ハンドシェイク中にアプリケーション層のプロトコル (HTTP/1.1、HTTP/2、HTTP/3 など) をネゴシエーションする仕組みです。
HTTP/2 は TLS 上で動作し、多重化やヘッダー圧縮によって通信効率を大幅に向上させます。HTTP/3 は QUIC プロトコル上で動作し、さらなる高速化と接続の安定性を実現しています。
確認さんでは、ALPN ネゴシエーションの結果や HTTP バージョンも確認できます。
安全な接続を確認する方法
- ブラウザのアドレスバーに鍵マークが表示されていることを確認する
- URL が「https://」で始まっていることを確認する
- 確認さんのセキュリティスコアで HTTPS/TLS 接続の評価を確認する
- TLS 1.2 以上が使用されていることを確認する
公共 Wi-Fiを利用する際は、HTTPS 接続の確認がとりわけ重要です。