SSL/TLSとは

この記事は約 2 分で読めます

SSL/TLS (Secure Sockets Layer / Transport Layer Security) とは、インターネット上の 通信を暗号化するプロトコルです。Web ブラウザとサーバー間のデータを暗号化し、 第三者による盗聴や改ざんを防ぎます。現在は SSL の後継である TLS が主流ですが、 慣習的に SSL/TLS と総称されます。HTTPS の「S」はこの技術を指しています。

歴史的背景

SSL は 1994 年に Netscape Communications が開発しました。SSL 2.0 (1995 年) と SSL 3.0 (1996 年) を経て、1999 年に IETF が TLS 1.0 を標準化しました。 SSL 3.0 には POODLE 攻撃などの深刻な脆弱性が発見され、現在は使用が禁止されています。 TLS 1.2 (2008 年) が長く主流でしたが、2018 年に TLS 1.3 が策定され、 ハンドシェイクの高速化とセキュリティの強化が実現しました。 Google が 2014 年に HTTPS をランキング要因に含めると発表したことで、 Web サイトの HTTPS 化が急速に進み、2025 年時点では Web トラフィックの 95% 以上が HTTPS で暗号化されています。主要ブラウザは TLS 1.0 と 1.1 のサポートを 完全に終了しており、TLS 1.3 への移行が標準となっています。

SSL/TLS の仕組み

TLS ハンドシェイクでは、まずサーバーがデジタル証明書を提示して身元を証明します。 次に、クライアントとサーバーが共通の暗号鍵を安全に交換し、以降の通信を 対称暗号で暗号化します。TLS 1.3 では ハンドシェイクが 1-RTT (1 往復) に簡略化され、接続速度とセキュリティの 両方が向上しています。SSL/TLS プロトコルの入門書 (Amazon)で技術的な詳細を学べます。

現場での使用例

「SSL Labs のスキャン結果で TLS 1.0 と 1.1 がまだ有効になっているサーバーが 3 台見つかりました。 今月中に TLS 1.2 以上に統一し、暗号スイートも見直す予定です。」

TLS ハンドシェイクフロー

ClientHello
ServerHello + 証明書
鍵交換
暗号化通信開始

実務での注意点

SSL/TLS はパスワードが送信される際の通信経路を保護します。ログインフォームで パスワードを入力する際、HTTPS 接続であることを必ず確認しましょう。 実務でよくある落とし穴は、証明書の有効期限切れを見落とすことです。 Let's Encrypt の普及により無料で証明書を取得できるようになりましたが、 自動更新の設定を怠ると突然サイトが「安全でない」と表示されます。 また、古い TLS バージョン (1.0、1.1) を有効にしたままにしているサーバーは 脆弱性のリスクがあります。パスつく.com で生成した強力なパスワードも、 暗号化されていない通信では傍受されるリスクがあるため、 ブラウザのアドレスバーに鍵マークが表示されていることを確認する習慣が重要です。Web セキュリティの書籍 (Amazon)も参考になります。

関連用語