SSL/TLS
公開日: 2025/06/03
SSL/TLS:インターネット通信を守る暗号化プロトコルの基礎
はじめに
Webサイトでよく見る「https://」や鍵マークの正体、それが SSL/TLS です。
現代のWebにおいて、パスワードやクレジットカード情報を暗号化せずに送信することは、もはやセキュリティリスク以外の何物でもありません。
本記事では、SSL/TLSの役割・仕組み・歴史・導入メリットについて、開発者目線で解説します。
基本情報・概要
-
SSL(Secure Sockets Layer):
インターネット通信を暗号化するために開発されたプロトコル。現在はTLSに置き換え済み。 -
TLS(Transport Layer Security):
SSLの後継であり、実際に使われているのはこのTLS。HTTPSの中身はTLSである。 -
用途:
Web(HTTPS)、メール、FTP、API通信、VPNなど多岐にわたる。
比較・分類・特徴の表形式まとめ
項目 | SSL | TLS |
---|---|---|
現在の使用状況 | 使用非推奨(TLSに移行済) | 実質的に業界標準(TLS 1.2以上推奨) |
バージョン | SSLv2, SSLv3(すでに脆弱) | TLS 1.0〜1.3(TLS 1.3は2018年標準化) |
主な用途 | HTTPS、メール通信などの暗号化 | 同左。APIやIoT、HTTP/2でも利用 |
特徴 | 非対称鍵交換+対称暗号化+改ざん検知 | より安全かつ軽量、高速なハンドシェイク |
深掘り解説(TLSの仕組み)
-
TLSハンドシェイクの流れ(HTTPSの初回接続時):
1. クライアント:Hello(TLSバージョン、暗号スイート提示) 2. サーバー:Hello(証明書送信、鍵交換方法提示) 3. 鍵交換:公開鍵暗号方式で共有鍵を安全に生成 4. セッション確立:以降は共有鍵で通信(共通鍵暗号)
- 証明書は**認証局(CA)**が署名し、ドメインの正当性を証明
- 改ざん防止のためにメッセージ認証(MAC)も含まれる
-
HTTPSの正体:
HTTPS = HTTP + TLS (ポート443、暗号化トンネル内でHTTP通信)
応用・発展的な使い方
-
Let’s Encryptの無料SSL証明書:
- 短期間(90日)更新制だが、自動更新スクリプトで容易に運用可能
-
HTTP Strict Transport Security(HSTS):
- 一度HTTPSで接続したら、その後は自動的にHTTPSのみ許可(中間攻撃防止)
-
TLSバージョン制御と暗号スイート最適化:
- TLS 1.2 or 1.3のみを許可、古いバージョンは明示的に無効化
-
TLS証明書ピンニング(モバイルアプリなど):
- 信頼するCA以外の証明書を拒否して中間者攻撃を防止
よくある誤解と注意点
- SSLとTLSは「別物」ではなく、TLSが後継であり現在の標準
- TLSを使っていてもXSSやCSRFは防げない:暗号化は通信路の安全性を担保するのみ
- 証明書は「暗号」ではなく「認証」の道具:実際の暗号は別途行われている
まとめ
SSL/TLSは、現代のWebにおける通信の守護神です。
TLSを適切に導入・運用することで、盗聴・改ざん・なりすましといったリスクを防ぎ、ユーザーとサービスの信頼性を守ることができます。
HTTPSは「あると便利」ではなく、「ないと危険」です。今すぐTLSを正しく理解し、Webの安全な未来を築きましょう。